44 | | Disable each request type per service. The metadata section of the layer object could be extended by a key {{{[service]_disable_request}}}. Each request type listet in this key will not be processed for the given service. The value {{{all}}} will disable a service completely. Examples: |
| 44 | Maybe the most risky one concerning interoperability. MapServer gets a new metadata key {{{[service]_disable_request}}}. Each request type listed in this key will not be processed for the given service. This metadata can be applied on layer sections but also on the web section. In the latter case, the given requests types are disabled for any layers in a map file and for a mapscript object respectively. Disabled requests types may not appear in the GetCapabilities document. Layers which have the GetCapabilities request type disabled may not appear in the capabilitiy documents <Layer> subtree. Handling of the GetCapabilities request type and others may be an inconsistency in this solution. The idea is that a capability document has to be offered as long as the service type is 'alive' – even if any layers and all other request types are disabled. |
| 45 | |
| 46 | In order to disable a service (hence OWS exception when called), the value {{{all}}} may be used. In this case the metadata has to be applied in the web section. Having {{{[service]_disable_request 'all'}}} applied on the layer level, it will only disable all requests types for this single layer. This behaviour has to be well documented. |
| 47 | |
| 48 | This is probably the most flexible solution to combine request rules for different service types on a single layer. In order to ''enable'' a service the document pre-conditions (metadata, data types, settings) still apply. The {{{all}}} value in the web section is only intended to disable a service type if it is enabled for some reason (e.g. not carefully configured) and/or so that the user can be sure a service type is disabled. |
| 49 | |
| 50 | Examples: |
46 | | wfs_disable_request 'all' |
47 | | wms_disable_request 'getcapabilities getfeatureinfo' |
| 52 | WEB |
| 53 | METADATA |
| 54 | sos_disable_request 'all' # SOS service completely disabled |
| 55 | wms_disable_request 'GetFeatureInfo' # no WMS-GetfeatureInfos at all |
| 56 | ows_disable_request 'all' # no services today |
| 57 | END |
| 58 | END |
| 59 | |
| 60 | LAYER |
| 61 | METADATA |
| 62 | wcs_disable_request 'all' # no WCS on this layer |
| 63 | wfs_disable_request 'GetCapabilities' # layer does not appear in the WFS capability document |
| 64 | wms_disable_request 'GetCapabilities GetFeatureinfo' # hidden layer and no GetFeatureinfos |
| 65 | END |
| 66 | END |