Web Services Base Notification 1.2(WS-BaseNotification)Unofficial Draft , 18 May 2023
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 1 of 48
1
2
3
4
5
12
Document identifier:wsn-WS-BaseNotification-1.2-draft-04
Location:http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-04.pdf
Editors:Steve Graham, IBM <[email protected]>Bryan Murray, Hewlett-Packard Company <[email protected]>
Abstract:The Event-driven, or Notification-based, interaction pattern is a commonly used pattern for inter-object communications. Examples exist in many domains, for example in publish/subscribe systems provided by Message Oriented Middleware vendors, or in system and device management domains. This notification pattern is increasingly being used in a Web services context.
WS-Notification is a family of related white papers and specifications that define a standard Web services approach to notification using a topic-based publish/subscribe pattern. It includes: standard message exchanges to be implemented by service providers that wish to participate in Notifications, standard message exchanges for a notification broker service provider (allowing publication of messages from entities that are not themselves service providers), operational requirements expected of service providers and requestors that participate in notifications, and an XML model that describes topics. The WS-Notification family of documents includes: a white paper: Publish-Subscribe Notification for Web services as well as three normative specifications: WS-BaseNotification, WS-BrokeredNotification, and WS-Topics.
This document defines the Web services interfaces for NotificationProducers and NotificationConsumers. It includes standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them. This is the base specification on which the other WS-Notification specification documents depend.
Implementors should read the Publish-Subscribe Notification for Web Services white paper. The WS-Topics specification is relevant if Notifications are to be addressable by that mechanism, but other addressing schemes are possible. The WS-BrokeredNotification specification is only relevant if brokering is to be used for distribution of Notifications. Implementations built on existing addressing and delivery mechanisms, or in simple configurations without elaborate addressing or delivery need only reference the WS-BaseNotification specification.
Status:On 17 June 2004, this document was approved by the OASIS WS-Notification Technical Committee for publication so that users of the specification have a stable draft version available until the TC publishes a Committee Draft. Send comments to the editor.
Committee members should send comments on this specification to the [email protected] list. Others should subscribe to and send comments to the [email protected] list. To subscribe, send an email message to [email protected] with the word "subscribe" as the body of the message.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 2 of 48
67891011121314151617181920212223242526272829303132333435363738394041424344454647484950
34
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the WSN TC web page (http://www.oasis-open.org/committees/wsn/).
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 3 of 48
51525354
56
Table of Contents
1 Introduction............................................................................................................................ 41.1 Goals and Requirements...............................................................................................4
1.1.1 Requirements............................................................................................................51.1.2 Non-Goals................................................................................................................. 5
1.2 Terminology................................................................................................................... 61.3 Namespaces.................................................................................................................. 6
2 Terminology and Concepts....................................................................................................83 NotificationConsumer Interface..............................................................................................9
3.1 Notify............................................................................................................................. 93.1.1 Example SOAP Encoding of the Notify Message....................................................10
4 NotificationProducer Interface..............................................................................................124.1 NotificationProducer Resource Properties...................................................................124.2 Subscribe.....................................................................................................................14
4.2.1 Example SOAP Encoding of the Subscribe Message Exchange............................174.3 GetCurrentMessage....................................................................................................19
4.3.1 Example SOAP Encoding of the GetCurrentMessage Message Exchange............205 SubscriptionManager Interface............................................................................................23
5.1 Subscription Resource Properties...............................................................................235.2 PauseSubscription.......................................................................................................25
5.2.1 Example SOAP Encoding of the PauseSubscription Message Exchange...............265.3 ResumeSubscription....................................................................................................27
5.3.1 Example SOAP Encoding of the ResumeSubscription Message Exchange...........286 Security Considerations.......................................................................................................317 References........................................................................................................................... 32
7.1 Normative....................................................................................................................327.2 Non-Normative............................................................................................................32
Appendix A. Acknowledgments....................................................................................................33Appendix B. XML Schema............................................................................................................34Appendix C. WSDL 1.1................................................................................................................. 37Appendix D. Revision History.......................................................................................................49Appendix E. Notices...................................................................................................................... 50
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 4 of 48
55
5657585960616263646566676869707172737475767778798081828384858687
78
1 IntroductionThe Event-driven, or Notification-based, interaction pattern is a commonly used pattern in distributed communications. Examples exist in many domains, for example in publish/subscribe systems provided by Message Oriented Middleware vendors, or in system and device management domains.The WS-Notification family of specifications defines a standard Web services approach to notification. This document is the base specification on which all the other specifications in the family depend. It defines the normative Web services interfaces for interactions among the three important roles in the notification pattern, namely the Subscriber, NotificationProducer and NotificationConsumer roles. This specification includes standard message exchanges to be employed by service providers that wish to act in these roles, along with operational requirements expected of them. In the remainder of this section we will give a brief introduction to the Notification pattern, and the terms we will use in this specification. For a more complete description, the reader is encouraged to consult [WS-Notification Whitepaper].In the Notification pattern a Web service, or other entity, disseminates information to a set of other Web services, without having to have prior knowledge of these other Web services. This specification defines a role called the NotificationProducer. A NotificationProducer accepts incoming Subscribe requests from a Subscriber.Each subscribe request identifies one or more Topics of interest and a reference to a NotificationConsumer, which may or may not be the Subscriber. The NotificationProducer is responsible for ensuring that the Notifications addressed by the given Topics are delivered to the requested NotificationConsumer. It may do this either directly or by delegating to an existing message delivery system, a system of NotificationBrokers, or some other mechanism. This specification allows the use of a variety of dialects in which to refer to Topics, ranging from simple QNames, to more sophisticated path-based Expression languages. Topic classifications and Topic Expressions are discussed more fully in [WS-Topics]..
1.1 Goals and RequirementsThe overall objectives of WS-Notification is presented in [WS-Notification Whitepaper]. The specific subset of those objectives realized by WS-BaseNotification are listed here.The goal of WS-BaseNotification is to standardize the terminology, concepts, operations, WSDL and XML needed to express the basic roles involved in Web services publish and subscribe for notification message exchange.1.1.1 RequirementsIn meeting these goals, the WS-BaseNotification specification must explicitly address the following requirements: Must support resource-constrained devices. The specifications must be
factored in a way that allows resource-constrained devices to participate in the Notification pattern. Such devices will be able to send information to, and receive information from Web services, without having to implement all the features of the specifications.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 5 of 48
888990919293949596979899100101102103104105106107108109110111112113114115
116117118119120121122123124125126127128129130
910
Must provide runtime metadata: There must be a mechanism that lets a potential Subscriber discover what elements available for subscription are provided by a NotificationProducer, and in what formats the subscription for notification can be made.
In addition, the WS-BaseNotification must allow for the following requirements to be met WS-BaseNotification must be independent of binding-level details:
Transport protocol details must be orthogonal to the subscription and the delivery of the notifications, so that the specification can be used over a variety of different transports.
Must allow for Message Oriented Middleware implementations. The design of the WS-BaseNotification must allow a service that is acting as a NotificationProducer to delegate its implementation of WS-BaseNotification semantics to a Message Oriented Middleware provider.
Relationship to other WS-* specifications: WS-BaseNotification must be composable with other Web services specifications, in particular WS-Security, WS-Policy, WS-Federation, WS-Addressing, WS-Coordination, WS-ResourceProperties, WS-ResourceLifetime, WS-ReliableMessaging [WS-ReliableMessaging] and the WS-Resource framework [State Paper].
1.1.2 Non-GoalsThe following topics are outside the scope of the WS-BaseNotification specification: Defining the format of notification payloads: The data carried in
NotificationMessage payloads is application-domain specific, and WS-BaseNotification does not prescribe any particular format for this data.
Defining any Events or NotificationMessages. The WS-BaseNotification specification does not define any “standard” or “built-in” notification situations, events or messages.
Defining the mapping between Situations and NotificationMessages. The WS-BaseNotification specification does not define the circumstances under which a potential producer of information should decide if and when it should actually notify the registered NotificationConsumers. However they do define how it performs the notification once it has decided to do so.
Defining the means by which NotificationProducers are discovered by subscribers It is beyond the scope of this specification to define the mechanisms for runtime discovery of NotificationProducers.
Mandating any particular mechanism of delivery or addressing. While WS-BrokeredNotification specifies a mechanism for delivery of messages and WS-Topics defines specific addressing schemes, WSN implementations are free to use other means.
1.2 TerminologyThe keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119].
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 6 of 48
131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
171172173174
1112
When describing abstract data models, this specification uses the notational convention used by the [XML Infoset]. Specifically, abstract property names always appear in square brackets (e.g., [some property]).When describing concrete XML schemas, this specification uses the notational convention of [WS-Security]. Specifically, each member of an element’s [children] or [attributes] property is described using an XPath-like notation (e.g., /x:MyHeader/x:SomeProperty/@value1). The use of {any} indicates the presence of an element wildcard (<xsd:any/>). The use of @{any} indicates the presence of an attribute wildcard (<xsd:anyAttribute/>).
1.3 Relation to Other SpecificationsThis specification makes extensive use of endpoint references. An endpoint reference, as defined in WS-Addressing, consists of a transport-specific physical address together with an arbitrary reference properties element - typically an opaque ID unique to the service. Taken as a whole, these may designate a particular stateful object, or resource, managed by the Web Service at the given physical address. For example, different subscriptions endpoint references may share the same physical address but have different reference properties. This allows multiple objects to be managed through a single physical address.In the non-normative SOAP message exchanges, the components of endpoint references appear as SOAP headers. This is a direct result of the SOAP binding of WS-Addressing.WS-BaseNotification relies on WS-Policy to negotiate various parameters such as security, quality of delivery service, continuity of messaging in the face of changes to an existing subscription, implicit termination of subscriptions, transport-level options and any other parameters not explicitly defined here.WS-Notification objects MAY present themselves as resources in the sense of WS-ResourceFramework in addition to supporting the direct messages described here. That is, they may provide a resource properties document and support the various get, set and query methods defined in that specification. This is true of any service representing stateful objects. However, this specification gives explicit mappings to the WS-ResourceFramework interfaces.Subscriptions made via WS-BaseNotification MAY be subject to scheduled termination as defined in WS-ResourceLifetime. This behavior is negotiable by policy.
1.4 NamespacesThe following namespaces are used in this document:
Prefix Namespace
s12 http://www.w3.org/2003/05/soap-envelope
xsd http://www.w3.org/2001/XMLSchema
wsp http://schemas.xmlsoap.org/ws/2002/12/policy
wsa http://schemas.xmlsoap.org/ws/2003/02/addressing
wsrp http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd
wsrpw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 7 of 48
175176177178179180181182
183184185186187188189190191192193194195196197198199200201202203
204205
1314
wsrl http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd
wsrlw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl
wsbf http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd
wsbfw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.wsdl
wsnt http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd
wsntw http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 8 of 48
206
1516
2 Terminology and ConceptsPlease refer to [WS-Notification Whitepaper] for a list of terms and their definitions.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 9 of 48
207208
1718
3 NotificationConsumer InterfaceWS-Notification allows a NotificationConsumer to receive a NotificationMessage in one of two forms:
1. As a “raw” NotificationMessage (i.e. the application-specific content).2. Using the Notify message described below
The second option (the Notify message) allows for additional WS-Notification-defined information (such as the Topic) in addition to the application-specific NotificationMessage content. This form of Notification also allows a batch of multiple NotificationMessages to be delivered using a single message.When a Subscriber sends a Subscribe request message, it indicates which form of Notification is required (the raw NotificationMessage, or the Notify Message). The NotificationProducer MUST observe this Subscription parameter, and use the form that has been requested or fault if it is unable to do so.A NotificationConsumer MAY choose to accept the Notify Message, or to accept raw NotificationMessage(s) explicitly (or both). When requesting creation of a Subscription on behalf of a NotificationConsumer, a Subscriber SHOULD ensure that the NotificationConsumer is able to handle the form of Notification it has requested for the given Subscription, whether by consulting a WSDL document associated with the NotificationConsumer or by other means.
3.1 NotifyThe format of the Notify message is:
…<wsnt:Notify> <wsntw:NotificationMessage> <wsnt:Topic Dialect=”xsd:anyURI”> {any} </wsnt:Topic> <wsnt:ProducerReference>? wsa:EndpointReference </wsnt:ProducerReference> <wsnt:Message>xsd:any</wsnt:Message> <wsnt:NotificationMessage>+</wsnt:Notify>…
The components of the Notify message are further described as follows:/wsnt:Notify
Contains a collection of one or more NotificationMessages to be delivered./wsnt:Notify/wsnt:NotificationMessage
Contains a NotificationMessage to be delivered./wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic
The TopicExpression describing exactly one Topic - the Topic that is associated with this NotificationMessage. This element describes the topic that matched to a subscription, causing the Notify message to be sent to the NotificationConsumer.
/wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic/@Dialect
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 10 of 48
209210211212213214215216217218219220221222223224225226
227228
229230231232233234235236237238239240241
242243244245246247248249250251
1920
The dialect used in the TopicExpression. This MUST be the same dialect used by the Subscriber when it created the Subscription that yielded this notify message.
/wsnt:Notify/wsnt:NotificationMessage/wsnt:ProducerReferenceAn OPTIONAL EndpointReference to the NotificationProducer that originally created the Subscription.
/wsnt:Notify/wsnt:NotificationMessage/wsnt:MessageThe actual NotificationMessage payload.
No response is expected from the NotificationConsumer upon receipt of this message.
3.1.1 Example SOAP Encoding of the Notify MessageThe following is a non-normative example of a Notify message using SOAP 1.2 [SOAP 1.2]:<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action>http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/Notify </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceDisambiguator> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceDisambiguator> </s12:Header> <s12:Body> <wsnt:Notify> <wsnt:NotificationMessage> <wsnt:Topic Dialect= "http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> npex:SomeTopic </wsnt:Topic> <wsnt:ProducerReference xmlns:npex="http://www.producer.org/RefProp"> <wsa:Address> http://www.producer.org/ProducerEndpoint </wsa:Address> <wsa:ReferenceProperties> <npex:NPResourceDisambiguator> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguator>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 11 of 48
252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
2122
</wsa:ReferenceProperties> </wsnt:ProducerReference> <wsnt:Message> <npex:NotifyContent>exampleNotifyContent</npex:NotifyContent> </wsnt:Message> <wsnt:NotificationMessage> </wsnt:Notify> </s12:Body></s12:Envelope>Note that in this example the wsa:To and npex:NCResourceDisambiguator headers combine to identify the destination of the Notify message. These are derived from the wsa:Address and wsa:ReferenceProperties given in the wsnt:ConsumerReference element of the original Subscribe request.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 12 of 48
299300301302303304305306307308309310311
2324
4 NotificationProducer InterfaceThis section describes the message exchanges and resource properties that a NotificationProducer MUST support. These message exchanges allow the NotificationProducer to advertise its support for one or more Topics, and allow a Subscriber to create Subscriptions or to control the delivery of NotificationMessages by the NotificationProducer.
4.1 NotificationProducer Property MessagesA NotificationProducer MUST support the following query messages:
4.1.1 GetTopicPropertiesThe GetTopicProperties request message has the following form
…<wsnt:GetTopicProperties/>…
The NotificationProducer MUST respond to this message with a response of the following form:
…<wsnt:GetTopicPropertiesResponse>
<wsnt:FixedTopicSet>xsd:Boolean</wsnt:FixedTopicSet>
<wsnt:TopicExpressionDialect>xsd:anyURI</wsnt:TopicExpressionDialect>+</wsnt:GetTopicPropertiesResponse>…
/wsnt:FixedTopicSetIndicates if the collection of Topics contained within the wsnt:Topic resource property may change. This value is “true” if the collection of Topics supported by the NotificationProducer does not change and “false” if the NotificationProducer allows the collection to change (for example if it allows additional Topics to be supported should publishers or subscribers request them).
/wsnt:TopicExpressionDialectsIndicates one or more TopicExpression dialect(s) that are supported by the NotificationProducer. If a URI corresponding to a dialect appears in this resource property, a subscriber is assured that a subscription request containing a valid topic expression using that dialect will be accepted by the NotificationProducer. The TopicExpressionDialects property is a “fixed property”, i.e. its value, for any given NotificationProducer WS-Resource, does not change over time.
4.1.2 GetTopicsThe GetTopicProperties request message has the following form
…<wsnt:GetTopics/>…
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 13 of 48
312313314315316
317318
319320
321322323
324
325326327
328330331
332333334335336337338339340341342343344345346
347348
349350351
2526
The NotificationProducer MUST respond to this message with a response of the following form:
…<wsnt:GetTopicsResponse>
<wsnt:Topic>wsnt:TopicExpressionType</wsnt:Topic>*</wsnt: GetTopicsResponse>…
/wsnt:TopicEach wsnt:Topic resource property element is a TopicExpression. The dialect of TopicExpression used can be any dialect. It is RECOMMENDED to use one of the TopicExpression dialects described in [WS-Topics]. A Topic element MAY refer to multiple Topics, if the dialect used has this capability. The same Topic may be referred to by multiple wsnt:Topic resource property element(s), for example, in different resource property elements each using a different dialect.
If a Topic appears in one of the wsnt:Topic resource property elements, a Subscriber can reasonably expect the NotificationProducer to create a Subscription for this Topic. It is not a guarantee that the NotificationConsumer will receive any NotificationMessages; there may not be any such NotificationMessages during the lifetime of the Subsciption.
4.2 SubscribeA Subscriber sends a Subscribe message to a NotificationProducer in order to register the interest of a NotificationConsumer for NotificationMessages related to one or more Topics. The NotificationProducer returns an EndpointReference in the response to the Subscribe request. This EndpointReference uniquely identifies the Subscription and may be used in subsequent messages involving that subscription. Different subscription endpoint references MAY share the same wsa:Address element, and this address MAY be the address of the NotificationProducer which created the subscription.Sending two identical Subscribe request messages to a NotificationProducer will result in the creation of two Subscription endpoints. The NotificationConsumer will be associated with both Subscription resources and so will receive two copies of any matching NotificationMessage.The format of the Subscribe message is:
…<wsnt:Subscribe> <wsnt:ConsumerReference> wsa:endpointReference </wsnt: ConsumerReference> <wsnt:TopicExpression Dialect = “xsd:anyURI”> {any} </wsnt:TopicExpression> <wsnt:UseNotify> xsd:boolean </wsnt:UseNotify>? <wsnt:Precondition> wsnt:PreconditionExpression </Precondition>? <wsnt:Selector> wsrp:SelectorExpression </wsnt:Selector>? <wsnt:SubscriptionPolicy> {any} </wsnt:SubscriptionPolicy>?
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 14 of 48
352
353354355356357
358359360361362363364365366367368369370371
372373374375376377378379380381382383
384385386387388389390391392393394395
2728
</wsnt:Subscribe>…
The components of the Subscribe request message are further described as follows:/wsnt:ConsumerReference
An endpoint reference element from WS-Addressing [WS-Addressing], used to identify the NotificationConsumer.
If the wsnt:UseNotify component is “true”, the NotificationConsumer identified by the endpoint reference MUST accept the Notify message format.
/wsnt:ConsumerReference/wsa:ReferencePropertiesThe ReferenceProperties MAY contain an identifier of the resource to which the NotificationMessage should be delivered. This is useful when the NotificationConsumer itself is implementing the implied resource pattern [State Paper].
The ReferenceProperties MAY contain other elements useful in the NotificationMessage delivery. For example the ReferenceProperties could contain a “correlationContext” - an element that is returned as part of each NotificationMessage delivered to the NotificationConsumer.
/wsnt:TopicExpressionA TopicExpression that identifies one or more of the Topics supported by the NotificationProducer.
/wsnt:TopicExpression/@DialectA URI that identifies the language of the TopicExpression. WS-Topics defines some standard URIs. Designers MAY define and use other domain-specific URIs to identify the dialect of the TopicExpression.
The NotificationProducer MAY refuse to process the Subscribe request if the dialect used by the Subscriber in the TopicExpression is not one of the dialects supported by the NotificationProducer.
/wsnt:UseNotifyA boolean value that indicates the format used to deliver NotificationMessages to the NotificationConsumer. This component is optional, if missing the default value is ”true”.
If this value is “true” then the messages delivered to the NotificationConsumer MUST be wsnt:Notify messages
If this value is “false” then the NotificationMessages must be delivered”raw”, that is, without being wrapped in a wsnt:Notify message
/wsnt:PreconditionThis component contains a PreconditionExpression as defined in Appendix B.
This component expresses a NotificationProducer-specific precondition associated with generation of NotificationMessages. A NotificationProducer is free to define the syntax and meaning of this expression. This expression may depend on factors other than the content and topic of the message. Only messages meeting the precondition will be generated.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 15 of 48
396397398
399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
2930
This element is optional. If it is missing, no precondition-based filtering will occur.
Non-normative examples of a possible precondition include:
A database query operation to be performed in order to generate a NotificationMessage, or periodic sequence of NotificationMessages.
A mode flag such as “DEBUG” or “INFO” indicating circumstances under which messages are appropriate.
/wsnt:SelectorA SelectorExpression as defined in Appendix B. A wsnt:Selector expression MUST evaluate to a Boolean and must depend only on the content of the message to be delivered. Only messages for which the selector evaluates to true will be delivered
This element is optional. If it is missing no Selector-based filtering will occur
/wsnt:SubscriptionPolicyThis optional component is an open component intended to be used in an application specific way to specify policy related requirements/assertions associated with the subscribe requests. This mechanism could be used to govern the message rate (e.g. maximum 3 messages per second), reliability of the NotificationMessage delivery, etc. The semantics of how the NotificationProducer MUST or MAY react to the policy requirements and assertions appearing in this component are specific to the actual policy grammar used.
One non-normative example use of this component is to specify a WS-Policy [WS-Policy] element indicating the requested policies to apply to the Subscription.
If this component is not specified in the Subscribe request message, then the NotificationProducer SHOULD use other means (such as directly contacting the NotificationConsumer) to resolve any policy-related inquiries.
The response to the Subscribe request message is a message of the following form:
…<wsnt:SubscribeResponse> <wsnt:SubscriptionReference> <wsa:Address> Address of Subscription </wsa:Address> <wsa:ReferenceProperties> Subscription Identifier </wsa:ReferenceProperties> … </wsnt:SubscriptionReference>…</wsnt:SubscribeResponse>…
The contents of the SubscribeResponse message are further described as follows:/wsnt:SubscriptionReference/wsa:Address
The address of a Web service that implements the Subscription set of messages
/wsnt:SubscriptionReference/wsa:ReferencePropertiesAn identifier of the Subscription resource.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 16 of 48
437438439440441442443444445446447448449450451452453454455456457458459460461
462463464465466467468469470471472473
474475476477478
3132
Instead of the SubscribeResponse message, the NotificationProducer may also send the following faults in response to a Subscribe message:
Unable to create subscription TopicPath Dialect not understood Others, TBD
4.2.1 Example SOAP Encoding of the Subscribe Message ExchangeThe following is a non-normative example of a Subscribe request message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/Subscribe </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/ProducerEndpoint </wsa:To> <npex:NPResourceDisambiguator> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguator> </s12:Header> <s12:Body> <wsnt:Subscribe> <wsnt:ConsumerReference xmlns:ncex="http://www.consumer.org/RefProp"> <wsa:Address> http://www.producer.org/ProducerEndpoint </wsa:Address> <wsa:ReferenceProperties> <ncex:NCResourceReference> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReference> </wsa:ReferenceProperties> </wsnt:ConsumerReference> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> npex:SomeTopic </wsnt:TopicExpression> <wsnt:UseNotify>true</wsnt:UseNotify> <wsnt:Precondition
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 17 of 48
479480481482483484485486
487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
3334
Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(ncex:NumberOfBlocks > 20 and ncex:BlockSize=1024) </Precondition> <wsnt:Selector Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(ncex:Producer="15") </wsnt:Selector> </wsnt: Subscribe> </s12:Body></s12:Envelope>
The following is a non-normative example of a Subscribe response message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/SubscribeResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReference> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReference> </s12:Header> <s12:Body> <wsnt:SubscribeResponse> <wsnt:SubscriptionReference xmlns:npex="http://www.producer.org/RefProp"> <wsa:Address> http://www.producer.org/SubsMgrEndpoint </wsa:Address> <wsa:ReferenceProperties> <npex:NSResourceDisambiguator> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceDisambiguator> </wsa:ReferenceProperties> </wsnt:SubscriptionReference> </wsnt:SubscribeResponse> </s12:Body>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 18 of 48
526527528529530531532533534535
536537538
539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
3536
</s12:Envelope>
4.3 GetCurrentMessageIn response to a GetCurrentMessage message, the NotificationProducer MAY return the last NotificationMessage published to a given Topic. This is a non-destructive read, and allows a newly-subscribed NotificationConsumer to get the last NotificationMessage that other NotificationConsumers have received.In certain circumstances, a NotificationProducer MAY not have access to the last NotificationMessage to one or more Topics it supports. In such cases, the NotificationProducer MUST respond with a fault message indicating that no current message is available on that Topic. The NotificationProducer MAY choose to communicate its access to current messages by some means not specified in this document, such as using a policy assertion.The format of the GetCurrentMessage request message is:
…<wsnt:GetCurrentMessage> <wsnt:Topic Dialect=”xsd:anyURI”>{any}</wsnt:Topic></wsnt:GetCurrentMessage>…
The components of the GetCurrentMessage request message are further described as follows:/wsnt:Topic
A TopicExpression that identifies exactly one Topic.
The response of the GetCurrentMessage request message is a message of the following form:
…<wsnt:GetCurrentMessageResponse> {any}</wsnt:GetCurrentMessageResponse>…
The contents of the GetCurrentMessage response message are further described as follows:/wsnt:GetCurrentMessageResponse/{any}
Contains the last NotificationMessage associated with the Topic identified by the request message.
Instead of the GetCurrentMessageResponse message, the NotificationProducer may also send the following faults in response to a GetCurrentMessage message:
Invalid TopicExpression Given TopicExpression did not match exactly one Topic supported by the
NotificationProducer The Topic is supported but there is no NotificationMessage currently available on that
Topic Others, TBD
4.3.1 Example SOAP Encoding of the GetCurrentMessage Message Exchange
The following is a non-normative example of a GetCurrentMessage request message using SOAP 1.2 [SOAP 1.2]:
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 19 of 48
574
575576577578579580581582583584585
586587588589590
591592593594
595596597598599
600601602603604605606607608609610611612613614615
3738
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/GetCurrentMessage </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/ProducerEndpoint </wsa:To> <npex:NPResourceDisambiguator> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguator> </s12:Header> <s12:Body> <wsnt:GetCurrentMessage> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/2004/06/TopicExpression/Simple"> npex:SomeTopic </wsnt:Topic> </wsnt:GetCurrentMessage> </s12:Body></s12:Envelope>
The following is a non-normative example of a GetCurrentMessage response message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/GetCurrentMessageResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 20 of 48
616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
647648
649650651652653654655656657658659660661662663
3940
</wsa:To> <ncex:NCResourceReference xmlns:ncex="http://www.consumer.org/RefProp"> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReference> </s12:Header> <s12:Body> <wsnt:GetCurrentMessageResponse> <npex:NotifyContent>exampleNotifyContent</npex:NotifyContent> </wsnt:GetCurrentMessageResponse> </s12:Body></s12:Envelope>
4.4 Presentation as a WS-ResourceIn addition to the message exchanges described in this specification, a NotificationProducer MAY also support the message exchanges defined in the WS-ResourceProperties specification. If so, the Resource Properties document defined by the NotificationProducer MUST include a reference to the following resource property elements:
… targetNamespace= ”http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd”…
<xsd:element name=”Topics” type=”wsnt:TopicExpressionType” minOccurs=”0” maxOccurs=”unbounded” />
<xsd:element name=”FixedTopicSet” type=”xsd:boolean” minOccurs=”1” maxOccurs=”1” />
<xsd:element name=”TopicExpressionDialects” type=”xsd:anyURI” minOccurs=”1” maxOccurs=”unbounded” />
…
These property elements are identical to those appearing in the GetTopicsResponse and GetTopicPropertiesResponse messages. The WS-ResourceProperties messages associated with these properties must behave consistently with the specification above. In particular, messages which would change the value of properties which cannot change MUST fault.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 21 of 48
664665666667668669670671672673674675
676677678679680
681682683684685686687688689690691692693694695696697
698699700701
4142
5 Subscription InterfaceThe Subscription interface defines message exchanges to manipulate Subscription resourcesGetSubscriptionProperties Message ExchangeThe GetSubscriptionProperties request message has the following form:
…<wsnt:GetSubscriptionProperties/>…
Note that the endpoint reference given in the Subscription response message (and therefore used to send the GetSubscriptionProperties message) is sufficient to identify the subscription. No identifier is needed in the GetSubscriptionProperties message.
The GetSubscriptionProperties response message has the following form:
<wsnt:GetSubscriptionPropertiesResponse> <wsnt:ConsumerReference>wsa:EndpointReferenceType”</
wsnt:ConsumerReference> <wsnt:UseNotify>xsd:Boolean</wsnt:UseNotify> <wsnt:TopicExpression>wsnt:TopicExpressionType</wsnt:TopicExpression> <wsnt:Precondition>wsnt:PreconditionExpressionType </wsnt:Precondition>? <wsnt:Selector>wsnt:SelectorExpressionType</wsnt:Selector>? <wsnt:SubscriptionPolicy>{any}</wsnt:SubscriptionPolicy>? <wsnt:CreationTime>xsd:dateTime</wsnt:CreationTime></wsnt:GetSubscriptionPropertiesResponse>
The child elements are further described as follows:/wsnt:ConsumerReference and /wsnt:TopicExpression and /wsnt:UseNotify and /wsnt:Precondition and /wsnt:Selector and /wsnt:SubscriptionPolicy
These elements are as defined in the description of the Subscribe request message (see 4.2).
/wsnt:CreationTimeIndicates the date and time at which the Subscription was created. This is an optional component, supporting resource constrained devices which cannot associate a creation time with subscription resources they create.
5.1 Property modification message exchangesThe Subscription MAY accept any combination of the property modification messages listed below.It is desirable that modifying properties of an existing subscription should provide some guarantee of continuity, as opposed to simply canceling the existing subscription and creating a new one. However, this guarantee cannot be provided in all implementations, particularly when the
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 22 of 48
702703704705706
707708709
710711712713714715
716717718719720721722723724725726
727728729730731732733734735736
737738739740741742
4344
ConsumerReference is to be changed. Therefore it is left to the subscription policy negotiation to determine this level of service.The property modification messages are as follows
…<wsnt:SetConsumerReference>wsa:EndpointReference</wsnt:SetConsumerReference>…
…<wsnt:SetUseNotify>xsd:boolean</wsnt:SetUseNotify>…
…<wsnt:SetTopicExpression>wsnt:TopicExpressionType</wsnt: SetTopicExpression>…
…<wsnt:SetPrecondition>wsnt:PreconditionExpressionType</wsnt: SetPrecondition>…
…<wsnt:SetSelector>wsnt:SelectorExpressionType</wsnt: SetSelector>…
…<wsnt:SetSubscriptionPolicy>{any}</wsnt: SetSubscriptionPolicy>…
Each of these has a corresponding empty response message (wsnt:SetConsumerReferenceResponse, etc.)
5.2 DestroySubscriptionThe Subscription MUST support this explicit destruction message. The implementation MAY also by policy support other, implicit means of destroying subscriptions and reclaiming their resources. For example, it may be possible to tell when a NotificationConsumer is no longer active and destroy all subscriptions which have it as an endpoint. The implementation may also choose to use WS-ResourceLifetime to provide for scheduled termination of subscriptions (in which case the endpoint returned in the SubscriptionResponse message must be a valid WS-Resource endpoint).
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 23 of 48
743744745746
747748749750
751
752753754
755
756757758759
760
761762763764
765
766767768
769
770771772
773774775
776777778779780781782783
4546
The DestroySubscription request message is as follows:
…<wsnt:DestroySubscription/>…
and the response is:
…<wsnt:DestroySubscriptionResponse/>…
5.3 PauseSubscriptionTo temporarily suspend the delivery of NotificationMessages on the given Subscription, a requestor MUST send a PauseSubscription request message to the SubscriptionManager. The PauseSubscription request message has the following form:
…<wsnt:PauseSubscription/>…
Upon successful processing of this message the Subscription is in the paused state. Delivery of NotificationMessages can be resumed by sending the ResumeSubscription request message (see 5.4).In an asynchronous implementation, there could be some NotificationMessages in-flight at the time the Subscription was paused. A NotificationProducer MAY attempt to deliver these in-flight NotificationMessages.Note: transitioning between the paused state and the resumed state has no effect on the TerminationTime of the Subscription resource [WS-ResourceLifetime]. A Subscription’s TerminationTime may elapse while it is in a paused state, initiating the scheduled destruction of the Subscription resource.If the SubscriptionManager accepts the PauseSubscription request message, it must respond with a message of the following form:
…<wsnt:PauseSubscriptionResponse />…
Instead of the PauseSubscriptionResponse message, the SubscriptionManager may also send the following faults in response to a PauseSubscription request message:
Pause operation could not be performed on the Subscription Others, TBD
5.3.1 Example SOAP Encoding of the PauseSubscription Message Exchange
The following is a non-normative example of a PauseSubscription request message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 24 of 48
784785
786787788
789
790791792
793
794795796797
798799800
801802803804805806807808809810811812
813814815
816817818819820821822823
824
4748
xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/PauseSubscription </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/SubsMgrEndpoint </wsa:To> <npex:NSResourceDisambiguator> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceDisambiguator> </s12:Header> <s12:Body> <wsnt:PauseSubscription/> </s12:Body></s12:Envelope>
The following is a non-normative example of a PauseSubscription response message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/PauseSubscriptionResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReference> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReference> </s12:Header> <s12:Body> <wsnt:PauseSubsciptionResponse/> </s12:Body>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 25 of 48
825826827828829830831832833834835836837838839840841842843844845846847
848849
850851852853854855856857858859860861862863864865866867868869870871872
4950
</s12:Envelope>
5.4 ResumeSubscriptionIf a requestor wishes to resume the delivery of NotificationMessages on the given Subscription, it must send a ResumeSubscription request message. The ResumeSubscription request message has the following form:
…<wsnt:ResumeSubscription/>…
Upon successful processing of this message the Subscription is no longer in the paused state. If a Subscription is not in the paused state, and it is the subject of a ResumeSubscription request message, no change occurs.When a Subscription is resumed the NotificationProducer MAY choose from one of the following courses of action. The choice MAY be determined by the NotificationProducer itself, or MAY be specified by a Policy associated with the Subscription.
1. Generate NotificationMessages for all the Situations related to the Subscription that occurred while the Subscription was paused (as well as for any new Situations that occur after the Subscription has been resumed).
2. Generate a NotificationMessage for the last Situation that occurred while the Subscription was paused (as well as for any new situations that occur after the topic has been resumed).
3. Generate no NotificationMessages until a Situation occurs after the Subscription has been resumed.
If the SubscriptionManager accepts the ResumeSubscription request message, it MUST respond with a message of the following form:
…<wsnt:ResumeSubscriptionResponse />…
Instead of the ResumeSubscriptionResponse message, the SubscriptionManager may also send the following faults in response to a ResumeSubscription request message:
Resume operation could not be performed on the Subscription Others, TBD
5.4.1 Example SOAP Encoding of the ResumeSubscription Message Exchange
The following is a non-normative example of a ResumeSubscription request message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp">
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 26 of 48
873
874875876877
878879880
881882883884885886887888889890891892893894895896
897898899
900901902903904905906907
908909910911912913914
5152
<s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/ResumeSubscription </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/SubsMgrEndpoint </wsa:To> <npex:NSResourceDisambiguator> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceDisambiguator> </s12:Header> <s12:Body> <wsnt:ResumeSubscription/> </s12:Body></s12:Envelope>
The following is a non-normative example of a ResumeSubscription response message using SOAP 1.2 [SOAP 1.2]:
<s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WS-BaseNotification/ResumeSubscriptionResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReference> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReference> </s12:Header> <s12:Body> <wsnt:ResumeSubsciptionResponse/> </s12:Body></s12:Envelope>
5.5 Presentation as a WS-ResourceIn addition to the messages given above, the Subscrption MAY also support the messages defined in the WS-ResourceProperties specification. If so, the Resource Properties document
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 27 of 48
915916917918919920921922923924925926927928929930931
932933
934935936937938939940941942943944945946947948949950951952953954955956957
958959960
5354
defined by the Subscription MUST include a reference to the following resource property elements.
… <xsd:element name=”ConsumerReference” type=”wsa:EndpointReferenceType” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”TopicExpression” type=”wsnt:TopicExpressionType” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”UseNotify” type=”xsd:boolean” minOccurs=”1” maxOccurs=”1” /> <xsd:element name=”Precondition” type=”wsrp:QueryExpressionType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”Selector” type=”wsrp:QueryExpressionType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”SubscriptionPolicy” type=”xsd:anyType” minOccurs=”0” maxOccurs=”1” /> <xsd:element name=”CreationTime” type=”xsd:dateTime” minOccurs=”0” maxOccurs=”1” />
This is essentially the format of the GetSubscriptionPropertiesResponse message, and the elements are as described above. The WS-ResourceProperties messages associated with these properties must behave consistently with the specification above. In particular, the property modification messages must be realized by setting the corresponding properties, and messages which correspond to unsupported messages, or which would otherwise change the value of properties which cannot change, MUST fault.In addition, a Subscription MAY support Resource Properties required by WS-ResourceLifetime, in accordance with the subscription policies in effect.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 28 of 48
961962
963964965966967968969970971972973974975976977978979980981982983984985
986987988989990991992993994995
5556
6 Security ConsiderationsA non-normative discussion of the security scenarios and considerations associated with the entire family of WS-Notification specifications is contained in [WS-Notification Whitepaper].
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 29 of 48
996997998
5758
7 References7.1 Normative
[RFC2119] S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.
[SOAP 1.2] http://www.w3.org/TR/soap12-part1/[URI] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource
Identifiers (URI): Generic Syntax," RFC 2396, MIT/LCS, U.C. Irvine, Xerox Corporation, August 1998.
[State Paper]
http://www.oasis-open.org/apps/org/workgroup/wsrf/download.php/6795/ws-modelingresources.pdf
[WS-Addressing] http://www.ibm.com/developerworks/webservices/library/ws-add/[WS-BrokeredNotification] http://docs.oasis-open.org/wsn/2004/06/wsn-WS-
BrokeredNotification-1.2-draft-01.pdf[WS-Policy] http://www.ibm.com/developerworks/library/ws-policy[WS-ResourceLifetime] http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-
ResourceLifetime-1.2-draft-02.pdf[WS-ResourceProperties] http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-
ResourceProperties-1.2-draft-04.pdf[WS-Topics] http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2-
draft-01.pdf[XML-Infoset] http://www.w3.org/TR/xml-infoset/[XPATH] http://www.w3.org/TR/xpath
7.2 Non-Normative[WS-Notification Whitepaper]
http://www.oasis-open.org/apps/org/workgroup/wsn/download.php/6661/WSNpubsub-1-0.pdf
[WS-Security]
http://www.oasis-open.org/committees/download.php/5531/oasis-200401-wss-soap-message-security-1.0.pdf
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 30 of 48
999
100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023
102410251026102710281029103010311032
5960
Appendix A. AcknowledgmentsSpecial thanks to the Global Grid Forum’s Open Grid Services Infrastructure working group, which defined the OGSI v1.0 [OGSI] specification which was a large inspiration for the ideas expressed in this specification. The following individuals were members of the committee during the development of this specification:
Geoff Acton (LSC Group Ltd), Sid Askary (Individual), Jeff Bohren (OpenNetwork), Fred Carter (AmberPoint), Martin Chapman (Oracle), Dave Chappell (Sonic Software), Ugo Corda (SeeBeyond Technology Corporation), Glen Daniels (Sonic Software), John Fuller (Individual), Stephen Graham (IBM), David Hull (Tibco), Anish Karmarkar (Oracle), John Kemp (Nokia), Paul Lipton (Computer Associates), Lily Liu (webMethods, Inc.), Tom Maguire (IBM), Susan Malaika (IBM), David Martin (IBM), Samuel Meder (Argonne National Laboratory), Jeff Mischkinsky (Oracle), Bryan Murray (Hewlett-Packard), Peter Niblett (IBM), Dave Orchard (BEA Systems, Inc.), Sanjay Patil (SAP), Greg Pavlik (Oracle), Mark Piller (webMethods, Inc.), Mark Peel (Novell) Ian Robinson (IBM), Igor Sedukhin, Computer Associates, David Snelling (Fujitsu), Latha Srinivasan (Hewlett-Packard), John Tollefsrud (Sun Microsystems), Steve Tuecke (Globus / Argonne National Laboratory), Jem Treadwell (Hewlett-Packard), William Vambenepe (Hewlett-Packard), and Alan Weissberger (NEC).
In addition, the following people made contributions to this specification:Tim Banks (IBM), Nick Butler (IBM), Doug Davis (IBM), John Dinger (IBM), Don Ferguson (IBM), Jeff Frey (IBM), Andreas Koeppel (SAP), Heather Kreger (IBM), Amy Lewis (TIBCO Software), Kevin Liu (SAP), Nataraj Nagaratnam (IBM), Martin Nally (IBM), Jeff Nick (IBM), Jay Parikh (Akamai Technologies), Claus von Riegen (SAP), Rick Rineholt (IBM), John Rofrano (IBM), Shivajee Samdarshi (TIBCO Software), Igor Sedukhin (Computer Associates International), Eugène Sindambiwe (SAP), Jay Unger (IBM), Bill Weihl (Akamai Technologies), Mark Weitzel (IBM), and Dan Wolfson (IBM).
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 31 of 48
1033
103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060
6162
Appendix B. XML SchemaThe XML types and elements used in this specification are defined in the following XML Schema:
<?xml version="1.0" encoding="UTF-8"?><!--
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
Copyright (C) OASIS Open (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 32 of 48
1061
1062
1063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102
6364
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-->
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- ======================== Imports ============================ --> <xsd:import namespace= "http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation= "http://schemas.xmlsoap.org/ws/2003/03/addressing" />
<xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" /> <!-- ================= Topic Expression Container ================= --> <xsd:complexType name="TopicExpressionType" mixed="true"> <xsd:sequence> <xsd:any minOccurs="0" maxOccurs="1" processContents="lax" /> </xsd:sequence> <xsd:attribute name="Dialect" type="xsd:anyURI" /> </xsd:complexType>
<xsd:element name="TopicExpression" type="wsnt:TopicExpressionType" />
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 33 of 48
1103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151
6566
<!-- =============== Resource Property Related =================== --><!-- ======== Resource Properties for NotificationProducer ======== --> <xsd:element name="Topic" type="wsnt:TopicExpressionType" />
<xsd:element name="FixedTopicSet" type="xsd:boolean"/>
<xsd:element name="TopicExpressionDialects" type="xsd:anyURI" />
<!-- ======== Resource Properties for SubscriptionManager ========= --> <xsd:element name="ConsumerReference" type="wsa:EndpointReferenceType" /> <xsd:element name="UseNotify" type="xsd:boolean" /> <xsd:element name="Precondition" type="wsrp:QueryExpressionType" /> <xsd:element name="Selector" type="wsrp:QueryExpressionType" /> <xsd:element name="SubscriptionPolicy" type="xsd:anyType" /> <xsd:element name="CreationTime" type="xsd:dateTime" />
</xsd:schema>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 34 of 48
115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175
6768
Appendix C. WSDL 1.1The following illustrates the WSDL 1.1 for the Web service methods described in this specification:
<?xml version="1.0" encoding="utf-8"?><!--
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
Copyright (C) OASIS Open (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 35 of 48
1176
11771178
1179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218
6970
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--><wsdl:definitions name="WS-BaseNotification" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy" xmlns:wsnt= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsntw= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:wsrpw= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" xmlns:wsbf= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd" xmlns:wsrl= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd" xmlns:wsrlw= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl"> <!-- ========================== Imports =========================== --> <wsdl:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/06//wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" /> <wsdl:import
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 36 of 48
1219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267
7172
namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/06//wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" /> <!-- ===================== Types Definitions ====================== --> <wsdl:types> <xsd:schema targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:include schemaLocation= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd" /> <xsd:import namespace= "http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation= "http://schemas.xmlsoap.org/ws/2003/03/addressing" />
<xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd" />
<xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" /> <xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd" schemaLocation=
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 37 of 48
126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315
7374
"http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd" /> <!-- =============== Resource Property Related =================== --><!-- ======== Resource Properties for NotificationProducer ======== --> <xsd:element name="NotificationProducerRP" > <xsd:complexType> <xsd:sequence> <xsd:element ref="wsnt:Topic" minOccurs="1" maxOccurs="unbounded" /> <xsd:element ref="wsnt:FixedTopicSet" minOccurs="1" maxOccurs="1" /> <xsd:element ref="wsnt:TopicExpressionDialects" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element>
<!-- ======== Resource Properties for SubscriptionManager ========= --> <xsd:element name="SubscriptionManagerRP" > <xsd:complexType> <xsd:sequence> <!-- From WS-ResourceLifetime ScheduledResourceTermination --> <xsd:element ref="wsrl:CurrentTime" minOccurs="1" maxOccurs="1" /> <xsd:element ref="wsrl:TerminationTime" minOccurs="1" maxOccurs="1" /> <!-- SubscriptionManager specific --> <xsd:element ref="wsnt:ConsumerReference" minOccurs="1" maxOccurs="1" /> <xsd:element ref="wsnt:TopicExpression" minOccurs="1" maxOccurs="1" /> <xsd:element ref="wsnt:UseNotify" minOccurs="1" maxOccurs="1" /> <xsd:element ref="wsnt:Precondition" minOccurs="0" maxOccurs="1" /> <xsd:element ref="wsnt:Selector" minOccurs="0" maxOccurs="1" /> <xsd:element ref="wsnt:SubscriptionPolicy" minOccurs="0" maxOccurs="1" /> <xsd:element ref="wsnt:CreationTime" minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element>
<!-- ================== Message Helper Types ===================== -->
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 38 of 48
1316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364
7576
<xsd:complexType name="NotificationMessageHolderType" > <xsd:sequence> <xsd:element name="Topic" type="wsnt:TopicExpressionType" minOccurs="1" maxOccurs="1" /> <xsd:element name="ProducerReference" type="wsa:EndpointReferenceType" minOccurs="0" maxOccurs="1" /> <xsd:element name="Message" type="xsd:anyType" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType>
<!-- ========== Message Types for NotificationConsumer =========== --> <xsd:element name="Notify" > <xsd:complexType> <xsd:sequence> <xsd:element name="NotificationMessage" type="wsnt:NotificationMessageHolderType" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element>
<!-- ========== Message Types for NotificationProducer =========== --> <xsd:element name="Subscribe" > <xsd:complexType> <xsd:sequence> <xsd:element name="ConsumerReference" type="wsa:EndpointReferenceType" minOccurs="1" maxOccurs="1" /> <xsd:element name="TopicExpression" type="wsnt:TopicExpressionType" minOccurs="1" maxOccurs="1" /> <xsd:element name="UseNotify" type="xsd:boolean" default="true" minOccurs="0" maxOccurs="1" /> <xsd:element name="Precondition" type="wsrp:QueryExpressionType" minOccurs="0" maxOccurs="1" /> <xsd:element name="Selector" type="wsrp:QueryExpressionType" minOccurs="0" maxOccurs="1" /> <xsd:element name="SubscriptionPolicy" type="xsd:anyType" minOccurs="0" maxOccurs="1" /> <xsd:element name="InitialTerminationTime" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 39 of 48
1365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413
7778
</xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="SubscribeResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="SubscriptionReference" type="wsa:EndpointReferenceType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="GetCurrentMessage"> <xsd:complexType> <xsd:sequence> <xsd:element name="Topic" type="wsnt:TopicExpressionType" /> </xsd:sequence> </xsd:complexType> </xsd:element>
<xsd:element name="GetCurrentMessageResponse"> <xsd:complexType> <xsd:sequence> <xsd:any /> </xsd:sequence> </xsd:complexType> </xsd:element>
<xsd:complexType name="ResourceUnknownFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="ResourceUnknownFault" type="wsnt:ResourceUnknownFaultType"/>
<xsd:complexType name="SubscribeCreationFailedFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="SubscribeCreationFailedFault" type="wsnt:SubscribeCreationFailedFaultType"/>
<xsd:complexType name="TopicPathDialectUnknownFaultType"> <xsd:complexContent>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 40 of 48
1414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462
7980
<xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="TopicPathDialectUnknownFault" type="wsnt:TopicPathDialectUnknownFaultType"/>
<xsd:complexType name="InvalidTopicExpressionFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="InvalidTopicExpressionFault" type="wsnt:InvalidTopicExpressionFaultType"/>
<xsd:complexType name="TopicNotSupportedFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="TopicNotSupportedFault" type="wsnt:TopicNotSupportedFaultType"/>
<xsd:complexType name="NoCurrentMessageOnTopicFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="NoCurrentMessageOnTopicFault" type="wsnt:NoCurrentMessageOnTopicFaultType"/>
<!-- ========== Message Types for SubscriptionManager =========== -->
<xsd:element name="PauseSubscription" />
<xsd:element name="PauseSubscriptionResponse" />
<xsd:element name="ResumeSubscription" />
<xsd:element name="ResumeSubscriptionResponse" />
<xsd:complexType name="PauseFailedFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="PauseFailedFault" type="wsnt:PauseFailedFaultType"/>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 41 of 48
1463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511
8182
<xsd:complexType name="ResumeFailedFaultType"> <xsd:complexContent> <xsd:extension base="wsbf:BaseFaultType"/> </xsd:complexContent> </xsd:complexType> <xsd:element name="ResumeFailedFault" type="wsnt:ResumeFailedFaultType"/>
</xsd:schema> </wsdl:types>
<!-- ================ NotificationConsumer::Notify ================ Notify( NotificationMessage (TopicExpression, ProducerReference, Message)* returns: n/a (one way)--> <wsdl:message name="Notify"> <wsdl:part name="Notify" element="wsnt:Notify"/> </wsdl:message>
<!-- ============== NotificationProducer::Subscribe =============== Subscribe( (ConsumerEndpointReference, TopicExpression, [UseNotify], [Precondition], [Selector], [SubscriptionPolicy], [InitialTerminationTime]) returns: WS-Resource qualified EPR to a Subscription--> <wsdl:message name="SubscribeRequest" > <wsdl:part name="SubscribeRequest" element="wsnt:Subscribe"/> </wsdl:message>
<wsdl:message name="SubscribeResponse"> <wsdl:part name="SubscribeResponse" element="wsnt:SubscribeResponse"/> </wsdl:message>
<wsdl:message name="ResourceUnknownFault"> <part name="ResourceUnknownFault" element="wsnt:ResourceUnknownFault" /> </wsdl:message>
<wsdl:message name="SubscribeCreationFailedFault"> <part name="SubscribeCreationFailedFault" element="wsnt:SubscribeCreationFailedFault" /> </wsdl:message>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 42 of 48
1512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560
8384
<wsdl:message name="TopicPathDialectUnknownFault"> <part name="TopicPathDialectUnknownFault" element="wsnt:TopicPathDialectUnknownFault" /> </wsdl:message>
<!-- ========== NotificationProducer::GetCurrentMessage =========== GetCurrentMessage(topicExpression) returns: a NotificationMessage (xsd:any)--> <wsdl:message name="GetCurrentMessageRequest"> <wsdl:part name="GetCurrentMessageRequest" element="wsnt:GetCurrentMessage"/> </wsdl:message>
<wsdl:message name="GetCurrentMessageResponse"> <wsdl:part name="GetCurrentMessageResponse" element="wsnt:GetCurrentMessageResponse"/> </wsdl:message>
<wsdl:message name="InvalidTopicExpressionFault"> <part name="InvalidTopicExpressionFault" element="wsnt:InvalidTopicExpressionFault" /> </wsdl:message>
<wsdl:message name="TopicNotSupportedFault"> <part name="TopicNotSupportedFault" element="wsnt:TopicNotSupportedFault" /> </wsdl:message>
<wsdl:message name="NoCurrentMessageOnTopicFault"> <part name="NoCurrentMessageOnTopicFault" element="wsnt:NoCurrentMessageOnTopicFault" /> </wsdl:message>
<!-- ========== SubscriptionManager::PauseSubscription ============ PauseSubscription() returns: empty--> <wsdl:message name="PauseSubscriptionRequest"> <wsdl:part name="PauseSubscriptionRequest" element="wsnt:PauseSubscription"/> </wsdl:message>
<wsdl:message name="PauseSubscriptionResponse"> <wsdl:part name="PauseSubscriptionResponse" element="wsnt:PauseSubscriptionResponse"/> </wsdl:message>
<wsdl:message name="PauseFailedFault">
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 43 of 48
1561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609
8586
<part name="PauseFailedFault" element="wsnt:PauseFailedFault" /> </wsdl:message>
<!-- ========= SubscriptionManager::ResumeSubscription ============ ResumeSubscription() returns: empty--> <wsdl:message name="ResumeSubscriptionRequest"> <wsdl:part name="ResumeSubscriptionRequest" element="wsnt:ResumeSubscription"/> </wsdl:message>
<wsdl:message name="ResumeSubscriptionResponse"> <wsdl:part name="ResumeSubscriptionResponse" element="wsnt:ResumeSubscriptionResponse"/> </wsdl:message>
<wsdl:message name="ResumeFailedFault"> <part name="ResumeFailedFault" element="wsnt:ResumeFailedFault" /> </wsdl:message> <!-- =================== PortType Definitions ===================== --><!-- ========= NotificationConsumer PortType Definition =========== --> <wsdl:portType name="NotificationConsumer"> <wsdl:operation name="Notify"> <wsdl:input message="wsntw:Notify" /> </wsdl:operation> </wsdl:portType> <!-- ========= NotificationProducer PortType Definition =========== --> <wsdl:portType name="NotificationProducer" wsrp:ResourceProperties ="wsnt:NotificationProducerRP">
<!-- ========== extends wsrpw:ResourceProperties ============= --> <wsdl:operation name="GetResourceProperty"> <wsdl:input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest" /> <wsdl:output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault" /> <wsdl:fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault" /> </wsdl:operation>
<!-- =========== NotificationProducer Specific ============== -->
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 44 of 48
1610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658
8788
<wsdl:operation name="Subscribe"> <wsdl:input message="wsntw:SubscribeRequest" /> <wsdl:output message="wsntw:SubscribeResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="SubscribeCreationFailedFault" message="wsntw:SubscribeCreationFailedFault"/> <wsdl:fault name="TopicPathDialectUnknownFault" message="wsntw:TopicPathDialectUnknownFault"/> </wsdl:operation>
<wsdl:operation name="GetCurrentMessage"> <wsdl:input message="wsntw:GetCurrentMessageRequest"/> <wsdl:output message="wsntw:GetCurrentMessageResponse"/> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="InvalidTopicExpressionFault" message="wsntw:InvalidTopicExpressionFault" /> <wsdl:fault name="TopicNotSupportedFault" message="wsntw:TopicNotSupportedFault" /> <wsdl:fault name="NoCurrentMessageOnTopicFault" message="wsntw:NoCurrentMessageOnTopicFault" /> </wsdl:operation> </wsdl:portType>
<!-- ========== SubscriptionManager PortType Definition =========== --> <wsdl:portType name="SubscriptionManager" wsrp:ResourceProperties ="wsntw:SubscriptionManagerRP"> <!-- ========== extends wsrpw:ResourceProperties ============= --> <wsdl:operation name="GetResourceProperty"> <wsdl:input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest" /> <wsdl:output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault" /> <wsdl:fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault" /> </wsdl:operation> <!-- === extends wsrlw:ImmediateResourceTermination ========== --> <wsdl:operation name="Destroy"> <wsdl:input message="wsrlw:DestroyRequest" /> <wsdl:output message="wsrlw:DestroyResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault" /> <wsdl:fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault" />
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 45 of 48
1659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707
8990
</wsdl:operation>
<!-- === extends wsrl:ScheduledResourceTermination ========== --> <wsdl:operation name="SetTerminationTime"> <wsdl:input message="wsrlw:SetTerminationTimeRequest" /> <wsdl:output message="wsrlw:SetTerminationTimeResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault" /> <wsdl:fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault" /> <wsdl:fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault" /> </wsdl:operation>
<!-- ========= SubscriptionManager specific operations ====== --> <wsdl:operation name="PauseSubscription"> <wsdl:input message="wsntw:PauseSubscriptionRequest"/> <wsdl:output message="wsntw:PauseSubscriptionResponse"/> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="PauseFailedFault" message="wsntw:PauseFailedFault" />
</wsdl:operation> <wsdl:operation name="ResumeSubscription"> <wsdl:input message="wsntw:ResumeSubscriptionRequest"/> <wsdl:output message="wsntw:ResumeSubscriptionResponse"/> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="ResumeFailedFault" message="wsntw:ResumeFailedFault" /> </wsdl:operation> </wsdl:portType>
</wsdl:definitions>
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 46 of 48
170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743
9192
Appendix D. Revision History
Rev Date By Whom What
wd-01 2004-05-18 Steve Graham Initial version created from submission by contributing companies. Minor modifications made to reflect OASIS formatting and namespace URI choices.
wd-02 2004-05-24 Steve Graham Added requirements section draft and updated acknowledgments appendix.
wd-03 2004-06-07 Steve Graham Minor modifications on wd-02 as reported by Peter N. and William V.
wd-04 2004-06-21 Steve Graham Finalize list of acknowledgments and annotate title page with result of TC vote.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 47 of 48
1744
1745
9394
Appendix E. NoticesOASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
Copyright (C) OASIS Open (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
document.doc 5/18/2023
Copyright © OASIS Open 2004. All Rights Reserved. Page 48 of 48
1746
1747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780
9596
Top Related