lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis...

51
Web Services Base Notification 1.2 (WS-BaseNotification) Unofficial Draft , 14 April 2022 document.doc 4/14/2022 Copyright © OASIS Open 2004. All Rights Reserved. Page 1 of 51 1 2 3 4 5 6 1 2

Transcript of lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis...

Page 1: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 2: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 3: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 4: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 5: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 6: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 7: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 8: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 9: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 10: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 11: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 12: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 13: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 14: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 15: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 16: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 17: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 18: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 19: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 20: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 21: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 22: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 23: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 24: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 25: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 26: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 27: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 28: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 29: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 30: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 31: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 32: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 33: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 34: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 35: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 36: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 37: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 38: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

"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

Page 39: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 40: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 41: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 42: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 43: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 44: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 45: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

<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

Page 46: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 47: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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

Page 48: lists.oasis-open.orglists.oasis-open.org/archives/wsn/200407/doc00000.doc  · Web viewThis document and the information contained herein is provided on an "AS IS" basis and OASIS

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