3.1 notify

49
Web Services Base Notification 1.2 (WS-BaseNotification) Working Draft 01, 23 May 2022 document.doc 5/23/2022 Copyright © OASIS Open 2004. All Rights Reserved. Page 1 of 49 1 2 3 4 5 6 1 2 3

Upload: doandung

Post on 04-Jan-2017

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 3.1 Notify

Web Services Base Notification 1.2(WS-BaseNotification)Working Draft 01, 3 May 2023

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 1 of 44

1

2

3

4

5

123

Page 2: 3.1 Notify

Document identifier:wsn-basenotification-1.2.draft-01

Location:http://docs.oasis-open.org/wsn/ wsn-basenotification-1.2.draft-01.doc

Editors:Steve Graham, IBM <[email protected]>Jem Treadwell, Hewlett-Packard Company <[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. An implementer interested just in direct, point to point, notification need only read this WS-Base Notification specification, together with the Publish-Subscribe Notification for Web Services white paper.

Status:This document is updated periodically on no particular schedule. 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.

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 WSRF TC web page (http://www.oasis-open.org/committees/wsn/).

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 2 of 44

678910111213141516171819202122232425262728293031323334353637383940414243444546474849

456

Page 3: 3.1 Notify

Table of Contents

1 Introduction............................................................................................................................ 41.1 Goals and Requirements...............................................................................................4

1.1.1 Requirements............................................................................................................41.1.2 Non-Goals................................................................................................................. 5

1.2 Terminology................................................................................................................... 51.3 Namespaces.................................................................................................................. 5

2 Terminology and Concepts....................................................................................................73 NotificationConsumer Interface..............................................................................................8

3.1 Notify............................................................................................................................. 83.1.1 Example SOAP Encoding of the Notify Message......................................................9

4 NotificationProducer Interface..............................................................................................114.1 NotificationProducer Resource Properties...................................................................114.2 Subscribe.....................................................................................................................12

4.2.1 Example SOAP Encoding of the Subscribe Message Exchange............................154.3 GetCurrentMessage....................................................................................................17

4.3.1 Example SOAP Encoding of the GetCurrentMessage Message Exchange............185 SubscriptionManager Interface............................................................................................20

5.1 Subscription Resource Properties...............................................................................205.2 PauseSubscription.......................................................................................................21

5.2.1 Example SOAP Encoding of the PauseSubscription Message Exchange...............215.3 ResumeSubscription....................................................................................................23

5.3.1 Example SOAP Encoding of the ResumeSubscription Message Exchange...........236 Security Considerations.......................................................................................................257 References........................................................................................................................... 26

7.1 Normative....................................................................................................................267.2 Non-Normative............................................................................................................26

Appendix A. Acknowledgments....................................................................................................27Appendix B. XML Schema............................................................................................................28Appendix C. WSDL 1.1................................................................................................................. 31Appendix D. Revision History.......................................................................................................43Appendix E. Notices...................................................................................................................... 44

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 3 of 44

50

5152535455565758596061626364656667686970717273747576777879808182

789

Page 4: 3.1 Notify

1 IntroductionThe 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.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 two of the important roles in the notification pattern, namely the NotificationProducer and NotificationConsumer roles. This specification includes standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them. A NotificationConsumer can be registered to receive notifications directly from a NotificationProducer, so an implementer interested just in direct, point to point, notification need only read this WS-Base Notification specification, together with the additional material that is to be found in Publish-Subscribe Notification for Web Services document [WS-Notification Whitepaper].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, each subscribe request identifies one or more Topics of interest and a reference to a NotificationConsumer. The NotificationProducer maintains a list of subscriptions (each subscription entry contains the Topic(s), a reference to the NotificationConsumer and possibly additional information). When it has a notification to distribute, the NotificationProducer matches the notification against the interest registered in each Subscription known to it. If it identifies a match it issues the Notification to the NotificationConsumer associated with that Subscription.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].The configuration where a NotificationConsumer is subscribed directly to the NotificationProducer is referred to as the “direct” or “point-to-point” notification pattern. There are other variations of the Notification pattern, where the NotificationConsumer is subscribed to an intermediary NotificationBroker service. These are covered by the [WS-Brokered Notification] specification.

1.1 Goals and RequirementsThe 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 this goal, the specification must address the following specific requirements:

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 4 of 44

8384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118

119120121122

123124125

101112

sgg, 05/18/04,
Sgg note: The BaseNotification spec contributed by the companies did not include a goals and requirements section.
Page 5: 3.1 Notify

This specification MUST: sgg note: needs completion

1.1.2 Non-GoalsThe following topics are outside the scope of this specification:sgg note: needs completion

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.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 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/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd

wsrpw http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl

wsrl http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd

wsrlw http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl

wsbf http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-BaseFaults-1.2-draft-01.xsd

wsbfw http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-BaseFaults-1.2-draft-

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 5 of 44

126127

128129130

131132133134135136137138139140141142

143144

131415

Page 6: 3.1 Notify

01.wsdl

wsnt http://docs.oasis-open.org/wsn/2004/05/wsn-WS-BaseNotification-1.2-draft-01.xsd

wsntw http://docs.oasis-open.org/wsn/2004/05/wsn-WS-BaseNotification-1.2-draft-01.wsdl

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 6 of 44

145

161718

Page 7: 3.1 Notify

2 Terminology and ConceptsPlease refer to [WS-Notification Whitepaper] for a list of terms and their definitions.

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 7 of 44

146147

192021

Page 8: 3.1 Notify

3 NotificationConsumer InterfaceWS-Notification allows a NotificationProducer to send a NotificationMessage to a NotificationConsumer in one of two ways:

1. The NotificationProducer MAY simply send the “raw” NotificationMessage (i.e. the application-specific content) to the NotificationConsumer.

2. The NotificationProducer MAY send the NotificationMessage data using the Notify message described below

The second option (the Notify message) allows the NotificationProducer to supply additional WS-Notification-defined information (such as the Topic) in addition to the application-specific NotificationMessage content. It also means that the NotificationConsumer can receive a wide range of NotificationMessages without having to explicitly provide support for each one in its WSDL. Furthermore, this form of Notification 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.This means that a NotificationConsumer MAY choose to implement the Notify Message, or to implement 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.

3.1 NotifyA NotificationProducer MAY send the Notify message to the NotificationConsumer in order to deliver one or more NotificationMessage(s). The format of the Notify message is:

…<wsnt:Notify> <wsntw:NotificationMessage> <wsnt:Topic Ddialect=”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. This message MAY follow the implied resource pattern as outlined in [State Paper].

/wsnt:Notify/wsnt:NotificationMessageContains a NotificationMessage to be delivered.

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 8 of 44

148149150151152153154155156157158159160161162163164165166167168

169170171

172173174175176177178179180181182183184

185186187188189190222324

sgg, 05/18/04,
Sgg note: consistent capitalization.
Page 9: 3.1 Notify

/wsnt:Notify/wsnt:NotificationMessage/wsnt:TopicThe 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 NotificationProducer to send the Notify message to the NotificationConsumer.

/wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic/@DdialectThe 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 generated the NotificationMessage artifact.

/wsnt:Notify/wsnt:NotificationMessage/wsnt:MessageA copy of the 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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" 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/05/WS-BaseNotificationhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/Notify </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceDisambiguatorId> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceDisambiguatorId> </s12:Header> <s12:Body> <wsnt:Notify> <wsnt:NotificationMessage> <wsnt:Topic Ddialect= "http://docs.oasis-open.org/wsn/2004/05/TopicExpression/Simplehttp://www.ibm.com/xmlns/stdwip/web-services/WS-Topics/TopicExpression/simple">document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 9 of 44

191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236252627

sgg, 05/18/04,
Sgg note: WSRF noted the ID suffix was misleading.
Page 10: 3.1 Notify

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:NPResourceDisambiguatorId> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguatorId> </wsa:ReferenceProperties> </wsnt:ProducerReference> <wsnt:Message> <npex:NotifyContent>exampleNotifyContent</npex:NotifyContent> </wsnt:Message> <wsnt:NotificationMessage> </wsnt:Notify> </s12:Body></s12:Envelope>Note the use of the wsa:ReferenceProperties elements in the message. These are examples of WS-Resource qualified EndpointReferences, following the implied resource pattern as outlined in [Sstate Ppaper].

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 10 of 44

237238239240241242243244245246247248249250251252253254255256257258259

282930

Page 11: 3.1 Notify

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 Resource PropertiesIn addition to the message exchanges described in this specification, a NotificationProducer MUST also support the required message exchanges defined in the WS-ResourceProperties specification and MAY support the optional message exchanges defined in the WS-ResourceProperties specification.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/05/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 Resource Property elements are further constrained as follows:/wsnt:Topics

This resource property contains collection of Topics supported by the NotificationProducer. The set of topics is expressed using one or more wsnt:Topic resource property element(s). Each 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 NotificationProducer MAY use an expression that refers 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 deliver NotificationMessages on this Topic. It is not a guarantee that it will receive any NotificationMessages; the NotificationProducer may not actually produce any NotificationMessages on the particular Topic during the time that the Subscriber is registered.

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 11 of 44

260261262263264

265266267268269270271

272273274275276277278279280281282283284285286287

288289290291292293294295296297298299300301302303313233

Page 12: 3.1 Notify

/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.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. As part of the processing of a Subscribe request message, the NotificationProducer MUST create a Subscription resource representing the Subscription. It returns an EndpointReference in the response to the Subscribe request. This EndpointReference is a WS-Resource-Qualified EndpointReference as defined in [State Paper] and includes the address of a SubscriptionManager service and a reference property containing the identity of the Subscription resource.Sending two identical Subscribe request messages to a NotificationProducer will result in the creation of two Subscription resources. 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 Ddialect = “xsd:anyURI”> {any} </wsnt:TopicExpression> <wsnt:UseNotify> xsd:boolean </wsnt:UseNotify>? <wsnt:Precondition> wsrp:QueryExpression </Precondition>? <wsnt:Selector> wsrp:QueryExpression </wsnt:Selector>? <wsnt:SubscriptionPolicy> {any} </wsnt:SubscriptionPolicy>? <wsnt:InitialTerminationTime> xsd:dateTime </wsnt:InitialTerminationTime>?</wsnt:Subscribe>…

This request message MUST follow the implied resource pattern as outlined in [State Paper]. The components of the Subscribe request message are further described as follows:

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 12 of 44

304305306307308309310311312313314315316

317318319320321322323324325326327328329

330331332333334335336337338339340341342343344345346

347348343536

Page 13: 3.1 Notify

/wsnt:ConsumerReferenceAn endpoint reference element from WS-Addressing [WS-Addressing], used to identify the NotificationConsumer.

In cases where the value of the wsnt:UseNotify component is “true”, the Web service identified by the endpoint reference MUST implement the message exchanges defined by NotificationConsumer (e.g. the Notify message).

/wsnt:ConsumerReference/wsa:ReferencePropertiesThe ReferenceProperties MAY contain an identifier of the resource to which the NotificationMessage should be delivered. This is used in the situation where 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 Topics supported by the NotificationProducer.

/wsnt:TopicExpression/@DdialectA 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 how the NotificationProducer is to deliver NotificationMessages to the NotificationConsumer. This component is optional, if missing the default value is ”true”.

If this value is “true” then the NoticationProducer MUST use the wsnt:Notify message to deliver NotificationMessages to the NotificationConsumer. In this case the NotificationConsumer referred to in the wsnt:ConsumerReference element MUST implement the Notify message and include a Notify operation in its portType definition.

If this value is “false” then the NoticationProducer MUST deliver the NotificationMessage using the raw NotificationMessage itself. In this case the NotificationConsumer referred to in the wsnt:ConsumerReference element MUST implement all the NotificationMessages associated with the Topic or Topics referred to by the TopicExpression, and include corresponding operations in its portType definition.

/wsnt:PreconditionThis component contains a QueryExpression as defined by WS-ResourceProperties.

This component expresses a NotificationProducer-specific precondition associated with generation of NotificationMessages by the NotificationProducer. A NotificationProducer object is free to define the syntax and meaning of this expression

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 13 of 44

349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390

373839

Page 14: 3.1 Notify

Non-normative examples of a possible precondition include:

An XPath expression on the Resource Properties of the NotificationProducer that evaluates to a Boolean. The NotificationProducer must only deliver NotificationMessages to the NotificationConsumer if this expression evaluates to “true”.

A database query operation to be performed in order to generate a NotificationMessage, or periodic sequence of NotificationMessages.

/wsnt:SelectorA QueryExpression as defined by WS-ResourceProperties. A wsnt:Selector expression MUST evaluates to a Boolean. The evaluation context is NotificationMessage(s) that are Published on the Topic(s) identified by the TopicPathExpression defined by the wsnt:TopicPathExpression component of this message.

The NotificationProducer must only deliver NotificationMessages to the NotificationConsumer if this expression evaluates to “true”.

/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.

/wsnt:InitialTerminationTimeThis component contains the service requestor’s suggestion for the initial termination time of the Subscription being created. This time is relative to the time source used by the NotificationProducer. If the NotificationProducer is unable or unwilling to set the TerminationTime resource property of the Subscription resource to the given value or greater, then the Subscribe request MUST fault. If the value is not “in the future” relative to the current time as known by the NotificationProducer, the Subscribe request MUST fault. The use of the xsi:nil attribute with value “true” indicates there is no scheduled termination time requested for the Subscription. If the element does not include the time zone designation, the value of the element MUST be interpreted as universal time (UTC) time.

If this component is not included, the initial value of the TerminationTime resource property is dependent on the implementation of the NotificationProducer.

The response to the Subscribe request message is a message of the following form:

…<wsnt:SubscribeResponse>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 14 of 44

391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431

432433

404142

Page 15: 3.1 Notify

<wsnt:SubscriptionReference> <wsa:Address> Address of Subscription Manager </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 SubscriptionManager set of messages. This SubscriptionManager is associated with the Subscription resource created by the Subscribe message following the implied resource pattern.

/wsnt:SubscriptionReference/wsa:ReferencePropertiesAn identifier of the Subscription resource following to the implied resource pattern.

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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotificationhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/Subscribe </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/ProducerEndpoint </wsa:To> <npex:NPResourceDisambiguatorId> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 15 of 44

434435436437438439440441442443

444445446447448449450451452453454455456457458

459460461462463464465466467468469470471472473474475476477

434445

Page 16: 3.1 Notify

</npex:NPResourceDisambiguatorId> </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:NCResourceReferenceId> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReferenceId> </wsa:ReferenceProperties> </wsnt:ConsumerReference> <wsnt:TopicExpression Ddialect="http://docs.oasis-open.org/wsn/2004/05/TopicExpression/Simplehttp://www.ibm.com/xmlns/stdwip/web-services/WS-Topics/TopicExpression/simple"> npex:SomeTopic </wsnt:TopicExpression> <wsnt:UseNotify>true</wsnt:UseNotify> <wsnt:Precondition Ddialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(ncex:NumberOfBlocks > 20 and ncex:BlockSize=1024) </Precondition> <wsnt:Selector Ddialect="http://www.w3.org/TR/1999/REC-xpath-19991116"> boolean(ncex:Producer="15") </wsnt:Selector> <wsnt:InitialTerminationTime> 2003-12-25T00:00:00.00000Z </wsnt:InitialTerminationTime> </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/05/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp">

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 16 of 44

478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514

515516517

518519520521522523524

464748

Page 17: 3.1 Notify

<s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/SubscribeResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReferenceId> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReferenceId> </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:NSResourceDisambiguatorId> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceDisambiguatorId> </wsa:ReferenceProperties> </wsnt:SubscriptionReference> </wsnt:SubscribeResponse> </s12:Body></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 choose to not cache 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 caching policy 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 Ddialect=”xsd:anyURI”>{any}</wsnt:Topic></wsnt:GetCurrentMessage>…

This request message MUST follow the implied resource pattern as outlined in [State Paper]. The components of the GetCurrentMessage request message are further described as follows:document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 17 of 44

525526527528529530531532533534535536537538539540541542543544545546547548549550551552

553554555556557558559560561562563

564565566567568

569570495051

Page 18: 3.1 Notify

/wsnt:TopicA 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]:

<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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/GetCurrentMessage </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/ProducerEndpoint </wsa:To> <npex:NPResourceDisambiguatorId> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguatorId>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 18 of 44

571572573

574575576577578

579580581582583584585586587588589590591592593594

595596597598599600601602603604605606607608609610611612613614525354

Page 19: 3.1 Notify

</s12:Header> <s12:Body> <wsnt:GetCurrentMessage> <wsnt:Topic Ddialect="http://docs.oasis-open.org/wsn/2004/05/TopicExpression/Simplehttp://www.ibm.com/xmlns/stdwip/web-services/WS-Topics/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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" xmlns:wsrp= "http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/GetCurrentMessageResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReferenceId xmlns:ncex="http://www.consumer.org/RefProp"> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReferenceId> </s12:Header> <s12:Body> <wsnt:GetCurrentMessageResponse> <npex:NotifyContent>exampleNotifyContent</npex:NotifyContent> </wsnt:GetCurrentMessageResponse> </s12:Body></s12:Envelope>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 19 of 44

615616617618619620621622623624625626627

628629

630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659

555657

Page 20: 3.1 Notify

5 SubscriptionManager InterfaceThe SubscriptionManager interface defines message exchanges to manipulate Subscription resources. The SubscriptionManager follows the implied resource pattern as described in [State Paper]. A SubscriptionManager MUST support the required message exchanges associated with the WS-ResourceProperties specification [WS-ResourceProperties] and MAY support the optional message exchanges defined by WS-ResourceProperties.The SubscriptionManager MUST support the message exchanges defined for both forms of resource lifetime (immediate and scheduled destruction) by WS-ResourceLifetime [WS-ResourceLifetime]. These message exchanges define the means by which Subscription resources can be explicitly destroyed, or destroyed using a scheduled (time-based) mechanism.

5.1 Subscription Resource PropertiesIn addition to the Resource Properties required by WS-ResourceLifetime, the Subscription resource MUST include a reference to each of the following Resource Property elements in its Resource Properties document:

… <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” />

These Resource Property 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:CreationTimedocument.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 20 of 44

660661662663664665666667668669670

671672673674

675676677678679680681682683684685686687688689690691692693694695696697

698699700701702703585960

Page 21: 3.1 Notify

Indicates 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.

If the SubscriptionManager also accepts the SetResourceProperties request message as defined in WS-ResourceProperties, the following properties MAY be modified by the requestor:

/wsnt:ConsumerReference and /wsnt:TopicExpression and /wsnt:UseNotify and /wsnt:Precondition and /wsnt:Selector and /wsnt:SubscriptionPolicy

5.2 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/>…

This request message MUST follow the implied resource pattern as outlined in [State Paper].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.3).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.2.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 xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt=

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 21 of 44

704705706707708709710

711712713714

715716717

718719720721722723724725726727728729730

731732733

734735736737738739740741

742743744745

616263

Page 22: 3.1 Notify

"http://docs.oasis-open.org/wsn/2004/05/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/05/WS-BaseNotification/PauseSubscription </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/SubsMgrEndpoint </wsa:To> <npex:NSResourceDisambiguatorId> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceDisambiguatorId> </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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/PauseSubscriptionResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReferenceId> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReferenceId> </s12:Header> <s12:Body> <wsnt:PauseSubsciptionResponse/> </s12:Body></s12:Envelope>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 22 of 44

746747748749750751752753754755756757758759760761762763764

765766

767768769770771772773774775776777778779780781782783784785786787788789790791

646566

Page 23: 3.1 Notify

5.3 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/>…

This request message MUST follow the implied resource pattern as outlined in [State Paper]. 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.3.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/05/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 23 of 44

792793794795

796797798

799800801802803804805806807808809810811812813814815

816817818

819820821822823824825826

827828829830831832833834

676869

Page 24: 3.1 Notify

<wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/ResumeSubscription </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.producer.org/SubsMgrEndpoint </wsa:To> <npex:NSResourceThingId> uuid:8fefcd11-7d3d-66b344a2-ca44-9876bacd44e9 </npex:NSResourceThingId> </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/05/wsn-WS-BaseNotification-1.2-draft-01.xsdhttp://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/05/WS-BaseNotification/http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/ResumeSubscriptionResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> <ncex:NCResourceReferenceId> uuid:9fef5fec-6dc3-44a2-ba32-8680cace43f9 </ncex:NCResourceReferenceId> </s12:Header> <s12:Body> <wsnt:ResumeSubsciptionResponse/> </s12:Body></s12:Envelope>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 24 of 44

835836837838839840841842843844845846847848849

850851

852853854855856857858859860861862863864865866867868869870871872873874875876

877

707172

Page 25: 3.1 Notify

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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 25 of 44

878879880

737475

Page 26: 3.1 Notify

7 References

7.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://www.oasis-open.org/apps/org/workgroup/wsn/download.php/6599/WS-BrokeredNotification-1-0.pdf

[WS-Policy] http://www.ibm.com/developerworks/library/ws-policy[WS-ResourceLifetime] http://docs.oasis-open.org/wsrf/ wsrf-resourcelifetime-1.1.draft-

01.doc[WS-ResourceProperties] http://docs.oasis-open.org/wsrf/ wsrf-resourceproperties-

1.1.draft-01.doc[WS-Topics]

http://www.oasis-open.org/apps/org/workgroup/wsn/download.php/6600/WS-Topics-1-0.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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 26 of 44

881

882883884885886887888889890891892893894895896897898899900901902903904905906907908909

910911912913914915916917918

767778

Page 27: 3.1 Notify

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:sgg. NOTE: Need to update this with the list of TC members. Make sure that contributor’s list doesn’t include any current TC members.

In addition, the following people made contributions to this specification: Peter Niblett, IBM (editor) Dave Chappell, Sonic Software Amy Lewis, TIBCO Software Nataraj Nagaratnam, IBM Jay Parikh, Akamai Technologies Sanjay Patil, SAP AG Shivajee Samdarshi, TIBCO Software Igor Sedukhin, Computer Associates International David Snelling, Fujitsu Laboratories of Europe Steve Tuecke, Globus / Argonne National Laboratory William Vambenepe, Hewlett-Packard Bill Weihl, Akamai Technologies

Tim Banks (IBM), Nick Butler (IBM), Glen Daniels (Sonic Software), Doug Davis (IBM), John Dinger (IBM), Don Ferguson (IBM), Jeff Frey (IBM), David Hull (Tibco), Andreas Koeppel (SAP), Heather Kreger (IBM), Kevin Liu (SAP),Tom Maguire (IBM), Susan Malaika (IBM), David Martin (IBM), Bryan Murray (HP), Martin Nally (IBM), Jeff Nick (IBM), Claus von Riegen (SAP), Rick Rineholt (IBM), John Rofrano (IBM), Eugène Sindambiwe (SAP), Jay Unger (IBM), Mark Weitzel (IBM), Dan Wolfson (IBM).

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 27 of 44

919

920921922923924925926927928929930931932933934935936937938939940941942943944945946947

798081

Page 28: 3.1 Notify

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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 28 of 44

948

949

950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989

828384

Page 29: 3.1 Notify

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/05/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" targetNamespace= "http://docs.oasis-open.org/wsn/2004/05/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/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/05/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"

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 29 of 44

99099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037

858687

Page 30: 3.1 Notify

type="wsnt:TopicExpressionType" />

<!-- =============== 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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 30 of 44

1038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062

888990

Page 31: 3.1 Notify

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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 31 of 44

1063

10641065

1066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105

919293

Page 32: 3.1 Notify

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/05/wsn-WS-BaseNotification-1.2-draft-01.xsd" xmlns:wsntw= "http://docs.oasis-open.org/wsn/2004/05/wsn-WS-BaseNotification-1.2-draft-01.wsdl" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:wsrpw= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" xmlns:wsbf= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-BaseFaults-1.2-draft-01.xsd" xmlns:wsrl= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd" xmlns:wsrlw= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" targetNamespace= "http://docs.oasis-open.org/wsn/2004/05/wsn-WS-BaseNotification-1.2-draft-01.wsdl"> <!-- ========================== Imports =========================== --> <wsdl:import namespace= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/05//wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" />

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 32 of 44

110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153

949596

Page 33: 3.1 Notify

<wsdl:import namespace= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/05//wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl" /> <!-- ===================== Types Definitions ====================== --> <wsdl:types> <xsd:schema targetNamespace= "http://docs.oasis-open.org/wsn/2004/05/wsn-WS-BaseNotification-1.2-draft-01.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:include schemaLocation= "http://docs.oasis-open.org/wsn/2004/05/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/05/wsrf-WS-BaseFaults-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-BaseFaults-1.2-draft-01.xsd" />

<xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" /> <xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/05/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 33 of 44

115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201

979899

Page 34: 3.1 Notify

schemaLocation= "http://docs.oasis-open.org/wsrf/2004/05/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>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 34 of 44

120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249

100101102

Page 35: 3.1 Notify

<!-- ================== Message Helper Types ===================== --> <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" />

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 35 of 44

125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297

103104105

Page 36: 3.1 Notify

<xsd:element name="InitialTerminationTime" type="xsd:dateTime" minOccurs="0" maxOccurs="1" /> </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"

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 36 of 44

129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345

106107108

Page 37: 3.1 Notify

type="wsnt:SubscribeCreationFailedFaultType"/>

<xsd:complexType name="TopicPathDialectUnknownFaultType"> <xsd:complexContent> <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"/>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 37 of 44

134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393

109110111

Page 38: 3.1 Notify

</xsd:complexContent> </xsd:complexType> <xsd:element name="PauseFailedFault" type="wsnt:PauseFailedFaultType"/>

<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>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 38 of 44

139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441

112113114

Page 39: 3.1 Notify

<wsdl:message name="SubscribeCreationFailedFault"> <part name="SubscribeCreationFailedFault" element="wsnt:SubscribeCreationFailedFault" /> </wsdl:message>

<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>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 39 of 44

144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489

115116117

Page 40: 3.1 Notify

<wsdl:message name="PauseSubscriptionResponse"> <wsdl:part name="PauseSubscriptionResponse" element="wsnt:PauseSubscriptionResponse"/> </wsdl:message>

<wsdl:message name="PauseFailedFault"> <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" />

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 40 of 44

149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537

118119120

Page 41: 3.1 Notify

<wsdl:fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault" /> <wsdl:fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault" /> </wsdl:operation>

<!-- =========== NotificationProducer Specific ============== --> <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>

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 41 of 44

153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585

121122123

Page 42: 3.1 Notify

<!-- === 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" /> </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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 42 of 44

158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630

124125126

Page 43: 3.1 Notify

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.

document.doc 5/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 43 of 44

1631

1632

127128129

Page 44: 3.1 Notify

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/3/2023

Copyright © OASIS Open 2004. All Rights Reserved. Page 44 of 44

1633

1634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667

130131132