...

Web Services Base Notification 1.2 (WS-BaseNotification) Working Draft 03, 21 June 2004

by user

on
Category: Documents
51

views

Report

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.
Fly UP