Web Services Base Notification 1.2 (WS-BaseNotification) Working Draft 03, 21 June 2004
by user
Comments
Transcript
Web Services Base Notification 1.2 (WS-BaseNotification) Working Draft 03, 21 June 2004
1 3 Web Services Base Notification 1.2 (WS-BaseNotification) 4 Working Draft 03, 21 June 2004 2 5 6 7 Document identifier wsn-WS-BaseNotification-1.2-draft-03 8 9 Location: http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-03.pdf 10 11 12 13 Editors: Steve Graham, IBM <[email protected]> Bryan Murray, Hewlett-Packard Company <[email protected]> 14 15 16 17 18 19 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. 20 21 22 23 24 25 26 27 28 29 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. 30 31 32 33 34 This document defines the Web services interfaces for NotificationProducers and NotificationConsumers. It includes standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them. This is the base specification on which the other WS-Notification specification documents depend. An implementer interested just in direct, point to point, wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 1 of 44 35 36 37 38 39 40 notification need only read this WS-BaseNotification specification, together with the Publish-Subscribe Notification for Web Services white paper. 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. 41 42 43 44 45 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. 46 47 48 49 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.oasisopen.org/committees/wsn/). wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 2 of 44 50 Table of Contents 51 1 52 Introduction.............................................................................................................................. 4 1.1 Goals and Requirements................................................................................................ 4 53 1.1.1 Requirements ............................................................................................................. 5 54 1.1.2 Non-Goals .................................................................................................................. 5 55 1.2 Terminology .................................................................................................................... 6 56 1.3 Namespaces................................................................................................................... 6 57 2 Terminology and Concepts ..................................................................................................... 7 58 3 NotificationConsumer Interface............................................................................................... 8 59 3.1 60 61 3.1.1 4 Notify............................................................................................................................... 8 Example SOAP Encoding of the Notify Message ...................................................... 9 NotificationProducer Interface............................................................................................... 11 62 4.1 NotificationProducer Resource Properties ................................................................... 11 63 4.2 Subscribe...................................................................................................................... 12 64 4.2.1 65 4.3 66 67 4.3.1 5 Example SOAP Encoding of the Subscribe Message Exchange ............................ 15 GetCurrentMessage ..................................................................................................... 17 Example SOAP Encoding of the GetCurrentMessage Message Exchange............ 18 SubscriptionManager Interface ............................................................................................. 20 68 5.1 Subscription Resource Properties ................................................................................ 20 69 5.2 PauseSubscription........................................................................................................ 21 70 5.2.1 71 5.3 72 5.3.1 Example SOAP Encoding of the PauseSubscription Message Exchange .............. 21 ResumeSubscription .................................................................................................... 23 Example SOAP Encoding of the ResumeSubscription Message Exchange........... 23 73 6 Security Considerations ........................................................................................................ 25 74 7 References ............................................................................................................................ 26 75 7.1 Normative ..................................................................................................................... 26 76 7.2 Non-Normative ............................................................................................................. 26 77 Appendix A. Acknowledgments ..................................................................................................... 27 78 Appendix B. XML Schema ............................................................................................................. 28 79 Appendix C. WSDL 1.1 .................................................................................................................. 31 80 Appendix D. Revision History ........................................................................................................ 43 81 Appendix E. Notices....................................................................................................................... 44 82 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 3 of 44 83 1 Introduction 84 85 86 87 The Event-driven, or Notification-based, interaction pattern is a commonly used pattern for interobject 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. 88 89 90 91 92 93 The WS-Notification family of specifications defines a standard Web services approach to notification. This document is the base specification on which all the other specifications in the family depend. It defines the normative Web services interfaces for two of the important roles in the notification pattern, namely the NotificationProducer and NotificationConsumer roles. This specification includes standard message exchanges to be implemented by service providers that wish to act in these roles, along with operational requirements expected of them. 94 95 96 97 98 A NotificationConsumer can be registered to receive notifications directly from a NotificationProducer, so an implementer interested just in direct, point to point, notification need only read this WS-Base Notification specification, together with the additional material that is to be found in Publish-Subscribe Notification for Web Services document [WS-Notification Whitepaper]. 99 100 101 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]. 102 103 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. 104 105 106 107 108 109 110 111 This specification defines a role called the NotificationProducer. A NotificationProducer accepts incoming Subscribe requests, each subscribe request identifies one or more Topics of interest and a reference to a NotificationConsumer. The NotificationProducer maintains a list of subscriptions (each subscription entry contains the Topic(s), a reference to the NotificationConsumer and possibly additional information). When it has a notification to distribute, the NotificationProducer matches the notification against the interest registered in each Subscription known to it. If it identifies a match it issues the Notification to the NotificationConsumer associated with that Subscription. 112 113 114 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]. 115 116 117 118 The configuration where a NotificationConsumer is subscribed directly to the NotificationProducer is referred to as the direct or point-to-point notification pattern. There are other variations of the Notification pattern, where the NotificationConsumer is subscribed to an intermediary NotificationBroker service. These are covered by the [WS-Brokered Notification] specification. 119 1.1 Goals and Requirements 120 121 122 The overall objectives of WS- Notification are presented in [WS- Notification Whitepaper]. The specific subset of those objectives realized by WS- BaseNotification is listed here. 123 124 125 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. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 4 of 44 126 1.1.1 Requirements 127 128 In meeting these goals, the WS- BaseNotification specification must explicitly address the following requirements: 129 130 131 132 133 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. 134 135 136 137 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. 138 139 In addition, the WS- BaseNotification must allow for the following requirements to be met 140 141 142 143 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. 144 145 146 147 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. 148 149 150 151 152 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, WSResourceProperties, WS- ResourceLifetime, WS- ReliableMessaging [WSReliableMessaging] and the WS- Resource framework [State Paper]. 153 1.1.2 Non-Goals 154 The following topics are outside the scope of the WS- BaseNotification specification: 155 156 157 Defining the format of notification payloads: The data carried in NotificationMessage payloads is application- domain specific, and WSBaseNotification does not prescribe any particular format for this data. 158 159 160 Defining any Events or NotificationMessages. The WS- BaseNotification specificat ion does not define any st andard or built - in not ificat ion sit uat ions, events or messages. 161 162 163 164 165 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. 166 167 168 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. 169 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 5 of 44 170 1.2 Terminology 171 172 173 The 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]. 174 175 176 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]). 177 178 179 180 181 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/>). 182 1.3 Namespaces 183 The 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.2draft-01.xsd wsrpw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2draft-01.wsdl wsrl http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2draft-01.xsd wsrlw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2draft-01.wsdl wsbf http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft01.xsd wsbfw http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft01.wsdl wsnt http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-01.xsd wsntw http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-01.wsdl 184 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 6 of 44 185 2 Terminology and Concepts 186 Please refer to [WS-Notification Whitepaper] for a list of terms and their definitions. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 7 of 44 187 3 NotificationConsumer Interface 188 189 WS-Notification allows a NotificationProducer to send a NotificationMessage to a NotificationConsumer in one of two ways: 190 191 1. The NotificationProducer MAY simply send the raw NotificationMessage (i.e. the application-specific content) to the NotificationConsumer. 192 193 2. The NotificationProducer MAY send the NotificationMessage data using the Notify message described below 194 195 196 197 198 199 The second option (the Notify message) allows the NotificationProducer to supply additional WSNotification-defined information (such as the Topic) in addition to the application-specific NotificationMessage content. It also means that the NotificationConsumer can receive a wide range of NotificationMessages without having to explicitly provide support for each one in its WSDL. Furthermore, this form of Notification allows a batch of multiple NotificationMessages to be delivered using a single message. 200 201 202 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. 203 204 205 206 207 This means that a NotificationConsumer MAY choose to implement the Notify Message, or to implement raw NotificationMessage(s) explicitly (or both). When requesting creation of a Subscription on behalf of a NotificationConsumer, a Subscriber SHOULD ensure that the NotificationConsumer is able to handle the form of Notification it has requested for the given Subscription. 208 3.1 Notify 209 210 A NotificationProducer MAY send the Notify message to the NotificationConsumer in order to deliver one or more NotificationMessage(s). The format of the Notify message is: 211 212 213 214 215 216 217 218 219 220 221 222 223 <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> 224 The components of the Notify message are further described as follows: 225 /wsnt:Notify 226 227 228 229 230 Contains a collection of one or more NotificationMessages to be delivered. This message MAY follow the implied resource pattern as outlined in [State Paper]. /wsnt:Notify/wsnt:NotificationMessage Contains a NotificationMessage to be delivered. /wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 8 of 44 231 232 233 234 235 236 237 238 239 240 241 242 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 NotificationProducer to send the Notify message to the NotificationConsumer. /wsnt:Notify/wsnt:NotificationMessage/wsnt:Topic/@Dialect 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:ProducerReference An OPTIONAL EndpointReference to the NotificationProducer that originally generated the NotificationMessage artifact. /wsnt:Notify/wsnt:NotificationMessage/wsnt:Message A copy of the actual NotificationMessage payload. 243 244 No response is expected from the NotificationConsumer upon receipt of this message. 245 3.1.1 Example SOAP Encoding of the Notify Message 246 The following is a non-normative example of a Notify message using SOAP 1.2 [SOAP 1.2]: 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 <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.2draft-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 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 9 of 44 278 279 280 281 282 283 284 285 286 287 288 289 290 291 </wsa:Address> <wsa:ReferenceProperties> <npex:NPResourceDisambiguator> uuid:84decd55-7d3f-65ad-ac44-675d9fce5d22 </npex:NPResourceDisambiguator> </wsa:ReferenceProperties> </wsnt:ProducerReference> <wsnt:Message> <npex:NotifyContent>exampleNotifyContent</npex:NotifyContent> </wsnt:Message> <wsnt:NotificationMessage> </wsnt:Notify> </s12:Body> </s12:Envelope> 292 293 294 Note the use of the wsa:ReferenceProperties elements in the message. These are examples of WS-Resource qualified EndpointReferences, following the implied resource pattern as outlined in [State Paper]. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 10 of 44 295 4 NotificationProducer Interface 296 297 298 299 This 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. 300 4.1 NotificationProducer Resource Properties 301 302 303 304 In addition to the message exchanges described in this specification, a NotificationProducer MUST also support the required message exchanges defined in the WS-ResourceProperties specification and MAY support the optional message exchanges defined in the WSResourceProperties specification. 305 306 The Resource Properties document defined by the NotificationProducer MUST include a reference to the following resource property elements: 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 targetNamespace= http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-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 /> 323 These Resource Property elements are further constrained as follows: 324 /wsnt:Topics 325 326 327 328 329 330 331 332 333 This resource property contains collection of Topics supported by the NotificationProducer. The set of topics is expressed using one or more wsnt:Topic resource property element(s). Each wsnt:Topic resource property element is a TopicExpression. The dialect of TopicExpression used can be any dialect. It is RECOMMENDED to use one of the TopicExpression dialects described in [WS-Topics]. A NotificationProducer MAY use an expression that refers to multiple Topics, if the dialect used has this capability. The same Topic may be referred to by multiple wsnt:Topic resource property element(s), for example, in different resource property elements each using a different dialect. 334 335 336 337 338 If a Topic appears in one of the wsnt:Topic resource property elements, a Subscriber can reasonably expect the NotificationProducer to deliver NotificationMessages on this Topic. It is not a guarantee that it will receive any NotificationMessages; the NotificationProducer may not actually produce any NotificationMessages on the particular Topic during the time that the Subscriber is registered. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 11 of 44 339 340 341 342 343 344 345 346 347 348 349 350 351 /wsnt:FixedTopicSet Indicates 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:TopicExpressionDialects Indicates 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. 352 4.2 Subscribe 353 354 A 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. 355 356 357 358 359 360 As part of the processing of a Subscribe request message, the NotificationProducer MUST create a Subscription resource representing the Subscription. It returns an EndpointReference in the response to the Subscribe request. This EndpointReference is a WS-Resource-Qualified EndpointReference as defined in [State Paper] and includes the address of a SubscriptionManager service and a reference property containing the identity of the Subscription resource. 361 362 363 Sending two identical Subscribe request messages to a NotificationProducer will result in the creation of two Subscription resources. The NotificationConsumer will be associated with both Subscription resources and so will receive two copies of any matching NotificationMessage. 364 The format of the Subscribe message is: 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 <wsnt:Subscribe> <wsnt:ConsumerReference> wsa:endpointReference </wsnt: ConsumerReference> <wsnt:TopicExpression Dialect = xsd:anyURI > {any} </wsnt:TopicExpression> <wsnt:UseNotify> xsd:boolean </wsnt:UseNotify>? <wsnt:Precondition> wsrp:QueryExpression </Precondition>? <wsnt:Selector> wsrp:QueryExpression </wsnt:Selector>? <wsnt:SubscriptionPolicy> {any} </wsnt:SubscriptionPolicy>? <wsnt:InitialTerminationTime> xsd:dateTime </wsnt:InitialTerminationTime>? </wsnt:Subscribe> This request message MUST follow the implied resource pattern as outlined in [State Paper]. The components of the Subscribe request message are further described as follows: wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 12 of 44 384 /wsnt:ConsumerReference 385 386 An endpoint reference element from WS-Addressing [WS-Addressing], used to identify the NotificationConsumer. 387 388 389 In cases where the value of the wsnt:UseNotify component is true , the Web service identified by the endpoint reference MUST implement the message exchanges defined by NotificationConsumer (e.g. the Notify message). 390 /wsnt:ConsumerReference/wsa:ReferenceProperties 391 392 393 The ReferenceProperties MAY contain an identifier of the resource to which the NotificationMessage should be delivered. This is used in the situation where the NotificationConsumer itself is implementing the implied resource pattern [State Paper]. 394 395 396 397 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. 398 399 400 401 /wsnt:TopicExpression A TopicExpression that identifies one or more Topics supported by the NotificationProducer. /wsnt:TopicExpression/@Dialect 402 403 404 A 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. 405 406 407 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. 408 /wsnt:UseNotify 409 410 411 A boolean value that indicates how the NotificationProducer is to deliver NotificationMessages to the NotificationConsumer. This component is optional, if missing the default value is true . 412 413 414 415 If this value is true then the NoticationProducer MUST use the wsnt:Notify message to deliver NotificationMessages to the NotificationConsumer. In this case the NotificationConsumer referred to in the wsnt:ConsumerReference element MUST implement the Notify message and include a Notify operation in its portType definition. 416 417 418 419 420 If this value is false then the NoticationProducer MUST deliver the NotificationMessage using the raw NotificationMessage itself. In this case the NotificationConsumer referred to in the wsnt:ConsumerReference element MUST implement all the NotificationMessages associated with the Topic or Topics referred to by the TopicExpression, and include corresponding operations in its portType definition. 421 /wsnt:Precondition 422 This component contains a QueryExpression as defined by WS-ResourceProperties. 423 424 425 This component expresses a NotificationProducer-specific precondition associated with generation of NotificationMessages by the NotificationProducer. A NotificationProducer object is free to define the syntax and meaning of this expression wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 13 of 44 426 Non-normative examples of a possible precondition include: 427 428 429 430 An XPath expression on the Resource Properties of the NotificationProducer that evaluates to a Boolean. The NotificationProducer must only deliver NotificationMessages to the NotificationConsumer if this expression evaluates to true . 431 432 A database query operation to be performed in order to generate a NotificationMessage, or periodic sequence of NotificationMessages. 433 /wsnt:Selector 434 435 436 437 A QueryExpression as defined by WS-ResourceProperties. A wsnt:Selector expression MUST evaluates to a Boolean. The evaluation context is NotificationMessage(s) that are Published on the Topic(s) identified by the TopicPathExpression defined by the wsnt:TopicPathExpression component of this message. 438 439 The NotificationProducer must only deliver NotificationMessages to the NotificationConsumer if this expression evaluates to true . 440 /wsnt:SubscriptionPolicy 441 442 443 444 445 446 447 This 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. 448 449 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. 450 451 452 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. 453 /wsnt:InitialTerminationTime 454 455 456 457 458 459 460 461 462 463 This component contains the service requestor s suggestion for the initial termination time of the Subscription being created. This time is relative to the time source used by the NotificationProducer. If the NotificationProducer is unable or unwilling to set the TerminationTime resource property of the Subscription resource to the given value or greater, then the Subscribe request MUST fault. If the value is not in the future relative to the current time as known by the NotificationProducer, the Subscribe request MUST fault. The use of the xsi:nil attribute with value true indicates there is no scheduled termination time requested for the Subscription. If the element does not include the time zone designation, the value of the element MUST be interpreted as universal time (UTC) time. 464 465 If this component is not included, the initial value of the TerminationTime resource property is dependent on the implementation of the NotificationProducer. 466 467 468 469 The response to the Subscribe request message is a message of the following form: <wsnt:SubscribeResponse> <wsnt:SubscriptionReference> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 14 of 44 470 471 472 473 474 475 476 477 478 <wsa:Address> Address of Subscription Manager </wsa:Address> <wsa:ReferenceProperties> Subscription Identifier </wsa:ReferenceProperties> </wsnt:SubscriptionReference> </wsnt:SubscribeResponse> 479 The contents of the SubscribeResponse message are further described as follows: 480 /wsnt:SubscriptionReference/wsa:Address 481 482 483 484 485 486 487 The address of a Web service that implements the SubscriptionManager set of messages. This SubscriptionManager is associated with the Subscription resource created by the Subscribe message following the implied resource pattern. /wsnt:SubscriptionReference/wsa:ReferenceProperties An identifier of the Subscription resource following to the implied resource pattern. Instead of the SubscribeResponse message, the NotificationProducer may also send the following faults in response to a Subscribe message: 488 Unable to create subscription 489 TopicPath Dialect not understood 490 Others, TBD 491 4.2.1 Example SOAP Encoding of the Subscribe Message Exchange 492 493 The following is a non-normative example of a Subscribe request message using SOAP 1.2 [SOAP 1.2]: 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 <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-BaseNotification1.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 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 15 of 44 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 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.oasisopen.org/wsn/2004/06/TopicExpression/Simple"> npex:SomeTopic </wsnt:TopicExpression> <wsnt:UseNotify>true</wsnt:UseNotify> <wsnt:Precondition 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:InitialTerminationTime> 2003-12-25T00:00:00.00000Z </wsnt:InitialTerminationTime> </wsnt: Subscribe> </s12:Body> </s12:Envelope> 545 546 547 The following is a non-normative example of a Subscribe response message using SOAP 1.2 [SOAP 1.2]: 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 <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.2draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/SubscribeResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </wsa:To> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 16 of 44 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 <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> </s12:Envelope> 583 4.3 GetCurrentMessage 584 585 586 587 In 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. 588 589 590 591 592 In certain circumstances, a NotificationProducer MAY choose to not cache the last NotificationMessage to one or more Topics it supports. In such cases, the NotificationProducer MUST respond with a fault message indicating that no current message is available on that Topic. The NotificationProducer MAY choose to communicate its caching policy by some means not specified in this document, such as using a policy assertion. 593 The format of the GetCurrentMessage request message is: 594 595 596 597 598 <wsnt:GetCurrentMessage> <wsnt:Topic Dialect= xsd:anyURI >{any}</wsnt:Topic> </wsnt:GetCurrentMessage> 599 600 This request message MUST follow the implied resource pattern as outlined in [State Paper]. The components of the GetCurrentMessage request message are further described as follows: 601 /wsnt:Topic 602 603 604 605 606 607 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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 17 of 44 608 609 The contents of the GetCurrentMessage response message are further described as follows: 610 /wsnt:GetCurrentMessageResponse/{any} 611 612 613 614 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: 615 Invalid TopicExpression 616 617 Given TopicExpression did not match exactly one Topic supported by the NotificationProducer 618 619 The Topic is supported but there is no NotificationMessage currently available on that Topic 620 Others, TBD 621 622 4.3.1 Example SOAP Encoding of the GetCurrentMessage Message Exchange 623 624 The following is a non-normative example of a GetCurrentMessage request message using SOAP 1.2 [SOAP 1.2]: 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 <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.2draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/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.oasisopen.org/wsn/2004/06/TopicExpression/Simple"> npex:SomeTopic </wsnt:Topic> </wsnt:GetCurrentMessage> </s12:Body> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 18 of 44 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 </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.2draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/GetCurrentMessageResponse </wsa:Action> <wsa:To s12:mustUnderstand="1"> http://www.consumer.org/ConsumerEndpoint </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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 19 of 44 682 5 SubscriptionManager Interface 683 684 685 The SubscriptionManager interface defines message exchanges to manipulate Subscription resources. The SubscriptionManager follows the implied resource pattern as described in [State Paper]. 686 687 688 A SubscriptionManager MUST support the required message exchanges associated with the WSResourceProperties specification [WS-ResourceProperties] and MAY support the optional message exchanges defined by WS-ResourceProperties. 689 690 691 692 The SubscriptionManager MUST support the message exchanges defined for both forms of resource lifetime (immediate and scheduled destruction) by WS-ResourceLifetime [WSResourceLifetime]. These message exchanges define the means by which Subscription resources can be explicitly destroyed, or destroyed using a scheduled (time-based) mechanism. 693 5.1 Subscription Resource Properties 694 695 696 In addition to the Resource Properties required by WS-ResourceLifetime, the Subscription resource MUST include a reference to each of the following Resource Property elements in its Resource Properties document: 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 <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 /> 720 These Resource Property elements are further described as follows: 721 722 /wsnt:ConsumerReference and /wsnt:TopicExpression and /wsnt:UseNotify and /wsnt:Precondition and /wsnt:Selector and /wsnt:SubscriptionPolicy 723 724 725 These elements are as defined in the description of the Subscribe request message (see 4.2). /wsnt:CreationTime wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 20 of 44 726 727 728 729 730 731 732 Indicates the date and time at which the Subscription was created. This is an optional component, supporting resource constrained devices which cannot associate a creation time with subscription resources they create. If the SubscriptionManager also accepts the SetResourceProperties request message as defined in WS-ResourceProperties, the following properties MAY be modified by the requestor: /wsnt:ConsumerReference and /wsnt:TopicExpression and /wsnt:UseNotify and /wsnt:Precondition and /wsnt:Selector and /wsnt:SubscriptionPolicy 733 5.2 PauseSubscription 734 735 736 To 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: 737 738 739 <wsnt:PauseSubscription/> 740 This request message MUST follow the implied resource pattern as outlined in [State Paper]. 741 742 743 Upon successful processing of this message the Subscription is in the paused state. Delivery of NotificationMessages can be resumed by sending the ResumeSubscription request message (see 5.3). 744 745 746 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. 747 748 749 750 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. 751 752 If the SubscriptionManager accepts the PauseSubscription request message, it must respond with a message of the following form: 753 754 755 756 757 <wsnt:PauseSubscriptionResponse /> Instead of the PauseSubscriptionResponse message, the SubscriptionManager may also send the following faults in response to a PauseSubscription request message: 758 Pause operation could not be performed on the Subscription 759 Others, TBD 760 761 5.2.1 Example SOAP Encoding of the PauseSubscription Message Exchange 762 763 The following is a non-normative example of a PauseSubscription request message using SOAP 1.2 [SOAP 1.2]: 764 765 766 767 <s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsnt= wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 21 of 44 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/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-WSBaseNotification-1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/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> </s12:Envelope> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 22 of 44 812 5.3 ResumeSubscription 813 814 815 If 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: 816 817 818 <wsnt:ResumeSubscription/> 819 820 This request message MUST follow the implied resource pattern as outlined in [State Paper]. Upon successful processing of this message the Subscription is no longer in the paused state. 821 822 If a Subscription is not in the paused state, and it is the subject of a ResumeSubscription request message, no change occurs. 823 824 825 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. 826 827 828 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). 829 830 831 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). 832 833 3. Generate no NotificationMessages until a Situation occurs after the Subscription has been resumed. 834 835 If the SubscriptionManager accepts the ResumeSubscription request message, it MUST respond with a message of the following form: 836 837 838 839 840 <wsnt:ResumeSubscriptionResponse /> Instead of the ResumeSubscriptionResponse message, the SubscriptionManager may also send the following faults in response to a ResumeSubscription request message: 841 Resume operation could not be performed on the Subscription 842 Others, TBD 843 844 5.3.1 Example SOAP Encoding of the ResumeSubscription Message Exchange 845 846 The following is a non-normative example of a ResumeSubscription request message using SOAP 1.2 [SOAP 1.2]: 847 848 849 850 851 852 853 854 855 <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-BaseNotification1.2-draft-01.xsd" xmlns:npex="http://www.producer.org/RefProp"> <s12:Header> <wsa:Action> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 23 of 44 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/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-BaseNotification1.2-draft-01.xsd" xmlns:ncex="http://www.consumer.org/RefProp"> <s12:Header> <wsa:Action> http://docs.oasis-open.org/wsn/2004/06/WSBaseNotification/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> 895 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 24 of 44 896 6 Security Considerations 897 898 A non-normative discussion of the security scenarios and considerations associated with the entire family of WS-Notification specifications is contained in [WS-Notification Whitepaper]. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 25 of 44 899 7 References 900 7.1 Normative 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 [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.oasisopen.org/apps/org/workgroup/wsrf/download.php/6795/wsmodelingresources.pdf [WS-Addressing] http://www.ibm.com/developerworks/webservices/library/ws-add/ [WS-BrokeredNotification] http://docs.oasis-open.org/wsn/2004/06/wsn-WSBrokeredNotification-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-WSResourceLifetime-1.2-draft-03.pdf [WS-ResourceProperties] http://docs.oasis-open.org/wsrf/2004/06/wsrf-WSResourceProperties-1.2-draft-04.pdf [WS-Topics] http://docs.oasis-open.org/wsn/2004/06/wsn-WS-Topics-1.2draft-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.oasisopen.org/committees/download.php/6661/WSNpubsub-1-0.pdf [WS-Security] http://www.oasisopen.org/committees/download.php/5531/oasis-200401-wsssoap-message-security-1.0.pdf wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 26 of 44 929 Appendix A. Acknowledgments 930 931 932 Special 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. 933 934 The following individuals were members of the committee during the development of this specification: 935 936 937 938 939 940 941 942 943 944 945 946 947 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 (HewlettPackard), and Alan Weissberger (NEC). 948 949 In addition, the following people made contributions to this specification: 950 951 952 953 954 955 956 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). wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 27 of 44 957 Appendix B. XML Schema 958 The XML types and elements used in this specification are defined in the following XML Schema: 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 <?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. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 28 of 44 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 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-BaseNotification1.2-draft-01.xsd" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WSResourceProperties-1.2-draft-01.xsd" targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification1.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-WSResourceProperties-1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties1.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" /> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 29 of 44 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 <!-- =============== 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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 30 of 44 1072 Appendix C. WSDL 1.1 1073 1074 The following illustrates the WSDL 1.1 for the Web service methods described in this specification: 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 <?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. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 31 of 44 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 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-BaseNotification1.2-draft-01.xsd" xmlns:wsntw= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification1.2-draft-01.wsdl" xmlns:wsrp= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WSResourceProperties-1.2-draft-01.xsd" xmlns:wsrpw= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WSResourceProperties-1.2-draft-01.wsdl" xmlns:wsbf= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2draft-01.xsd" xmlns:wsrl= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.2-draft-01.xsd" xmlns:wsrlw= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.2-draft-01.wsdl" targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-01.wsdl"> <!-- ========================== Imports =========================== --> <wsdl:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties1.2-draft-01.wsdl" /> <wsdl:import wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 32 of 44 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.2-draft-01.wsdl" location= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.2-draft-01.wsdl" /> <!-- ===================== Types Definitions ====================== --> <wsdl:types> <xsd:schema targetNamespace= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-01.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:include schemaLocation= "http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2draft-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.2draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2draft-01.xsd" /> <xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties1.2-draft-01.xsd" schemaLocation= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties1.2-draft-01.xsd" /> <xsd:import namespace= "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.2-draft-01.xsd" schemaLocation= wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 33 of 44 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime1.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 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. ===================== --> 7/23/2004 Page 34 of 44 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 <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" /> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 35 of 44 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 </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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 36 of 44 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 <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"/> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 37 of 44 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 <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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 38 of 44 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 <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"> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 39 of 44 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 <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> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 40 of 44 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 <!-- =========== NotificationProducer Specific ============== --> <wsdl:operation name="Subscribe"> <wsdl:input message="wsntw:SubscribeRequest" /> <wsdl:output message="wsntw:SubscribeResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="SubscribeCreationFailedFault" message="wsntw:SubscribeCreationFailedFault"/> <wsdl:fault name="TopicPathDialectUnknownFault" message="wsntw:TopicPathDialectUnknownFault"/> </wsdl:operation> <wsdl:operation <wsdl:input <wsdl:output <wsdl:fault name="GetCurrentMessage"> message="wsntw:GetCurrentMessageRequest"/> message="wsntw:GetCurrentMessageResponse"/> 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" wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 41 of 44 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 message="wsrlw:ResourceUnknownFault" /> <wsdl:fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault" /> </wsdl:operation> <!-- === extends wsrl:ScheduledResourceTermination ========== --> <wsdl:operation name="SetTerminationTime"> <wsdl:input message="wsrlw:SetTerminationTimeRequest" /> <wsdl:output message="wsrlw:SetTerminationTimeResponse" /> <wsdl:fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault" /> <wsdl:fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault" /> <wsdl:fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault" /> </wsdl:operation> <!-- ========= SubscriptionManager specific operations ====== --> <wsdl:operation name="PauseSubscription"> <wsdl:input message="wsntw:PauseSubscriptionRequest"/> <wsdl:output message="wsntw:PauseSubscriptionResponse"/> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="PauseFailedFault" message="wsntw:PauseFailedFault" /> </wsdl:operation> <wsdl:operation name="ResumeSubscription"> <wsdl:input message="wsntw:ResumeSubscriptionRequest"/> <wsdl:output message="wsntw:ResumeSubscriptionResponse"/> <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault" /> <wsdl:fault name="ResumeFailedFault" message="wsntw:ResumeFailedFault" /> </wsdl:operation> </wsdl:portType> </wsdl:definitions> wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 42 of 44 1643 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. wd-03 2004-07-12 Steve Graham rename 04 back to 03 to minimize reference rework in WSRF. 1644 wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 43 of 44 1645 Appendix E. Notices 1646 1647 1648 1649 1650 1651 1652 1653 1654 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. 1655 1656 1657 1658 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. 1659 1660 Copyright (C) OASIS Open (2004). All Rights Reserved. 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 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. 1671 1672 1673 The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. 1674 1675 1676 1677 1678 1679 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. wsn-WS-BaseNotification-1[1].2-draft-03.doc Copyright © OASIS Open 2004. All Rights Reserved. 7/23/2004 Page 44 of 44 This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.