Copyright © 2011 Open Geospatial Consortium.
87 extension parameters can be reused easily and are not tied to a specific namespace and
version of the core model. The SWE Service Model defines a request and response type for service operations that
provide the necessary extension properties. These types are specified in clause 9. This standard requires a service to throw an exception if it encounters an unsupported request
extension see clause 15. This can be done as shown in the following listings.
Listing 9 – Example of operation request with extensions
swes:DescribeSensor service
= SPS
version =
2.0 xmlns:swes
= http:www.opengis.netswes2.0
xmlns:abc =
http:www.example.orgabc xmlns:xsi
= http:www.w3.org2001XMLSchema-instance
swes:extension abc:MyExtensionElement
value abc:MyExtensionElement
swes:extension swes:procedure
http:my.orgsensors937239 swes:procedure
swes:procedureDescriptionFormat http:www.opengis.netsensorML1.0.1
swes:procedureDescriptionFormat swes:DescribeSensor
Listing 10 – Example of RequestExtensionNotSupported exception
ows:Exception exceptionCode
= RequestExtensionNotSupported
xmlns:ows =
http:www.opengis.netows1.1 xmlns:abc
= http:www.example.orgabc
xmlns:xsi =
http:www.w3.org2001XMLSchema-instance ows:ExceptionText
[CDATA[ abc:MyExtensionElementvalueabc:MyExtensionElement
]] ows:ExceptionText
ows:Exception
Extensions themselves may provide points for further extension. Requirement
http:www.opengis.netspecSWES2.0reqExtensionsRequestExtensionNotSupported
REQ 69. If a service encounters a sub-extension in an extension property
of an operation request and it does not support it, then it shall throw a RequestExtensionNotSupported exception.
18.3 Adding notification topics
Services implementing this standard may define their own topic namespace to define notification semantics. They may also extend topics defined in the topic namespace of
this standard according to the rules defined by the OASIS WS-Topics standard.
88
Copyright © 2011 Open Geospatial Consortium.
An extension topic defines its own notification semantics and does not change the semantics of its parent topic which in this case is defined by this standard. Each topic
defines the sending trigger and content of an event. In addition, it usually defines the information encoding of the notification.
Extension topics define the way topics are included in a given TopicSet of a service instance they have to be a child of the parent topic – see WS-Topics. See Listing 11 for
an example and WS-Topics chapter 3 for further details.
For example, this specification defines a CapabilitiesChange topic. A notification is sent whenever the Capabilities document of the referenced service has changed. Another
standard can define an extension of this topic named ServiceProviderChange. Here, a notification will be sent whenever a change to the ServiceProvider section of the
Capabilities document occurs. Notifications sent on this new topic could provide specific information which parts of the ServiceProvider section has changed. Clients interested
only in changes to the ServiceProvider section then subscribe to this new topic. Note that changes to the ServiceProvider section also trigger a CapabilitiesChanged event and
hence result in a notification on the parent topic CapabilitiesChange. Consumers subscribed to that topic and all child topics would then receive two notifications even
though originally only one event has happened.
18.4 Object type extensions
Each type defined in this specification has either no stereotype or has the stereotype Type. Hence it has automatically a well-defined extension point – see clause
24.2.4.1. This is the place where other specifications may add additional properties. For example, the NotificationProducerMetadata type has such an extension point. A possible
extension could for example add information about potential publication of events to web feeds. This aspect, which is a candidate for future versions of this standard, is not covered
herein.
There is a key difference between object type extensions and requestresponse extensions as described in clause 18.2. If a service encounters an unsupported requestresponse
extension, it throws an exception. In contrast:
Requirement
http:www.opengis.netspecSWES2.0reqExtensionsUnsupportedObjectTypeExtension
REQ 70. If a service encounters an unsupported object type extension in a
place other than a request extension, it shall ignore it.
Copyright © 2011 Open Geospatial Consortium.
89
19 SOAP binding
19.1 Introduction