Web service configuration (workspace/services/)
1. Basics
- The main services configuration is used by all web services.
- Each web service may use the main configuration.
- Each web service may overwrite the main configuration with service specific settings.
- Each web service has its own configuration file.
Web service configuration files are located in the services directory of the deegree workspace. See the workspace directory layout for details.
- The name of the configuration file (without the file ending) determins the identifier for this web service.
- All configuration files need to refer to a specific schema version.
2. Schema location
Since version 3.0.0, the schemas for defining deegree 3 web service configurations may be found at http://schemas.deegree.org/services/. It is mandatory to always refer to a specific version of the schema, as the schema may change over time.
3. Workspace folder structure
The workspace folder may contain services. This folder contains the files main.xml and metadata.xml, as well as one or two files for each specific web service (for example: wms.xml and the optional wms_metadata.xml). This is reflected in the folder structure of the workspace:
<workspace> |-- ... | |-- services | |-- main.xml | |-- metadata.xml | | | |-- <servicename1>.xml | |-- <servicename1>_metadata.xml | |-- ... | |-- <servicenameX>.xml | |-- ... | |-- <servicenameZ>.xml | `-- <servicenameZ>_metadata.xml | `-- ...
4. Configuration details
4.1. Main service configuration (services/main.xml)
Current Version main: 3.0.0/controller.xsd (valid since 2010-11-15)
The services/main.xml is based on the schema defined in controller.xsd. It allows to control some general service aspects. Here is a very simple example:
<?xml version="1.0" encoding="UTF-8"?>
<deegreeServiceController
configVersion="3.0.0"
xmlns="http://www.deegree.org/services/controller"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.deegree.org/services/controller http://schemas.deegree.org/services/controller/3.0.0/controller.xsd">
<!-- optional -->
<DCP>
<HTTPGet>http://localhost:8080/deegree/services?</HTTPGet>
<HTTPPost>http://localhost:8080/deegree/services</HTTPPost>
<SOAP>http://localhost:8080/deegree/services</SOAP>
</DCP>
<!-- optional -->
<ConfiguredServices>
<Service>
<ServiceName>CSW</ServiceName>
<ConfigurationLocation>services/csw.xml</ConfigurationLocation>
<ControllerClass>org.deegree.services.csw.CSWController</ControllerClass>
</Service>
</ConfiguredServices>
<!-- optional -->
<RequestLogging>
<!-- optional. default java.io.tmpdir -->
<OutputDirectory>/tmp</OutputDirectory>
<!-- optional. default is true -->
<OnlySuccessful>true</OnlySuccessful>
<RequestLogger>
<Class>org.deegree.services.controller.utils.StandardRequestLogger</Class>
<Configuration>...</Configuration>
</RequestLogger>
</RequestLogging>
<!-- optional. default is false -->
<ValidateResponses>false</ValidateResponses>
</deegreeServiceController>
4.1.1. DCP
Optional. Allows to hard-wire the Service-URLs returned in GetCapabilities responses. By default, the services use the URL that has been used to send the request. This works fine in most cases and requires no configuration.
4.1.2. ConfiguredServices
Optional. Allows to explicitly enable individual web services and select configuration files and implementation classes. By default, all services that have a configuration file are enabled.
4.1.3. RequestLogging
Optional. If present, incoming requests are logged. Has the following child elements:
OutputDirectory: Optional. Default is the java temp directory (java.io.tmpdir).
OnlySuccessful: Optional. It is configurable whether only successful requests or all requests are logged. Default is true.
RequestLogger: Optional. Different loggers can be specified.
Default is the internal logger (org.deegree.services.controller.utils.StandardRequestLogger), logging only to the output directory and the $HOME/.deegree/requests.txt for kvp.
A further option for logging is using a OSAAS database. A PostgreSQL create table SQL script can be found here. Besides the OSAASTable name a OSAASConnectionId specifies the jdbc connection configuration via its ConnectionID (please refer JDBC configuration).
... <RequestLogging> <OutputDirectory>/tmp</OutputDirectory> <OnlySuccessful>true</OnlySuccessful> <RequestLogger> <Class>org.deegree.services.controller.utils.OSAASRequestLogger</Class> <Configuration> <OSAASConnectionId>logging</OSAASConnectionId> <OSAASTable>requests</OSAASTable> </Configuration> </RequestLogger> </RequestLogging> ...
4.1.4. ValidateResponses
ValidateResponses can be set to validate the output. This might be useful for debugging purposes, but has a bad impact on performance. Therefore the default is 'false'.
4.2. Service metadata configuration (services/metadata.xml)
Current Version metadata: 3.0.0 (valid since 2010-10-15)
Configures the metadata (ServiceInformation, ServiceProvider) returned for GetCapabilities requests.
<deegreeServicesMetadata
configVersion="3.0.0"
xmlns="http://www.deegree.org/services/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.deegree.org/services/metadata http://schemas.deegree.org/services/metadata/3.0.0/metadata.xsd">
<!--
General service information for all services. Used in the GetCapabilities responses.
-->
<ServiceIdentification>
<Title>deegree 3 utahDemo</Title>
<Abstract>WMS and WFS demonstration with Utah data</Abstract>
</ServiceIdentification>
<ServiceProvider>
<ProviderName>lat/lon GmbH</ProviderName>
<ProviderSite>http://www.lat-lon.de</ProviderSite>
<ServiceContact>
<IndividualName>Johannes Wilden</IndividualName>
<PositionName>Release Manager</PositionName>
<Phone>0228/18496-0</Phone>
<Facsimile>0228/18496-29</Facsimile>
<ElectronicMailAddress>info@lat-lon.de</ElectronicMailAddress>
<Address>
<DeliveryPoint>Aennchenstr. 19</DeliveryPoint>
<City>Bonn</City>
<AdministrativeArea>NRW</AdministrativeArea>
<PostalCode>53177</PostalCode>
<Country>Germany</Country>
</Address>
<OnlineResource>http://www.deegree.org</OnlineResource>
<HoursOfService>24x7</HoursOfService>
<ContactInstructions>Do not hesitate to contact us.</ContactInstructions>
<Role>PointOfContact</Role>
</ServiceContact>
</ServiceProvider>
</deegreeServicesMetadata>
4.3. Service specific configuration (services/)
Information on the specific configuration files for the individual deegree 3 services can be found on the respective wiki pages:
4.3.1. Credential Handling
CredentialHandling describes in detail, how configuration is done and which methods are used to handle credentials with deegree.
5. Further workspace configuration
For other parts of the workspace configuration please consult the following pages: