- From: Doug Davis via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 17 Nov 2010 03:53:33 +0000
- To: public-ws-resource-access-notifications@w3.org
Update of /w3ccvs/WWW/2002/ws/ra/edcopies In directory hutz:/tmp/cvs-serv15844 Modified Files: wsenum.html wsenum.xml wseventing.html wseventing.xml Log Message: 10960 Index: wseventing.xml =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.xml,v retrieving revision 1.203 retrieving revision 1.204 diff -u -d -r1.203 -r1.204 --- wseventing.xml 12 Oct 2010 16:08:23 -0000 1.203 +++ wseventing.xml 17 Nov 2010 03:53:31 -0000 1.204 @@ -145,7 +145,7 @@ <ulist> <item> <p> - Define means to create and delete event subscriptions. + Define means to create and cancel event subscriptions. </p> </item> @@ -627,7 +627,7 @@ <def> <p> A Web service that sends requests to create, renew, and/or - delete subscriptions. + cancel subscriptions. </p> </def> </gitem> @@ -637,7 +637,7 @@ <def> <p> A Web service that accepts requests to manage, get the status of, - renew, and/or delete subscriptions on behalf of an event source. + renew, and/or cancel subscriptions on behalf of an event source. </p> </def> </gitem> @@ -803,26 +803,39 @@ <head>Subscription Messages</head> <p> - To create, renew, and delete subscriptions, subscribers send + To create, renew, and cancel subscriptions, subscribers send request messages to event sources and subscription managers. </p> <p> - When an event source accepts a request to create a - subscription, it typically does so for a given amount of time, - although an event source MAY accept an indefinite subscription - with no time-based expiration. If the subscription manager - accepts a renewal request, it updates that amount of time. During - that time, notifications are delivered to the - requested event sink. An event source MAY support filtering to + Subscriptions are created with a specific expiration time that is + negotiated between the Subscriber and the Event Source/Subscription + Manager via the Subscribe-SubscribeResponse message exchange. This + expiration time can be subsequently re-negotiated via the + Renew-RenewResponse message exchange. There are a number of options + to these negotiations. In addition to requesting a subscription with + a specific expiration time, Subscribers can request a subscription + with an infinite expiration (i.e. a subscription that never expires). + Subscribers can also indicate their willingness to accept a "best effort" + attempt to match their desired expiration, as well as indicate that + the expiration value will be chosen by the Event Source or + Subscription Manager. + </p> + + <p> + An event source MAY support filtering to limit notifications that are delivered to the event sink; if it does, and a subscribe request contains a filter, only events that match the requested filter are sent. - Notifications are sent until one of the following + </p> + + <p> + Notifications are sent to the event sink until one of the following happens: the subscription manager accepts an unsubscribe request - for the subscription; the subscription expires without being - renewed; or the event source cancels the subscription - prematurely. In this last case, the event source makes a best + for the subscription; the subscription expires; + or the event source/subscription manager cancels the subscription + prematurely. In this last case, the event source/subscription manager + makes a best effort to indicate why the subscription ended, via a SubscriptionEnd message if an EndTo was present in the Subscribe message. @@ -841,14 +854,24 @@ </p> <olist> - <item> <p>Subscription deleted (via Unsubscribe)</p> </item> - <item> <p>Subscription expired</p> </item> - <item> <p>Subscription ended (via SubscriptionEnd)</p> </item> + <item> + <p> + Subscription canceled at the request of the subscriber + (via Unsubscribe) + </p> + </item> + <item> <p>Subscription canceled upon expiration</p> </item> + <item> + <p> + Subscription canceled due to come condition or action of/by + the Event Source or Subscription Manager. + </p> + </item> </olist> <p> - In addition, the Event Source/Subscription Manager MAY cancel a - subscription at any time, as necessary. + As the last item indicates, the Event Source/Subscription Manager MAY + cancel a subscription at any time. </p> <p> @@ -859,7 +882,7 @@ <p> Once a Subscriber determines that a subscription is invalid, it MUST - NOT issue any more WSEventing request messages using that subscription. + NOT issue any more WS-Eventing request messages using that subscription. </p> <div2 id="Subscribe"> @@ -990,15 +1013,16 @@ <def> <p> This OPTIONAL element can be used by the subscriber to indicate the - expiration time of the requested subscription. If this element - is not present, the implied default expiration time is indefinite. - A value of PT0S indicates a request for an indefinite expiration time. + expiration time of the requested subscription. + A value of PT0S indicates a request for an infinite expiration time + (i.e. a subscription that never expires). </p> <p> - If the event source does not support the wse:Expires element - being present in a Subscribe request message then a - wse:ExpiresNotSupported fault MUST be generated. + The absence of the wse:Expires element indicates that the expiration + value will be chosen by the event source or subscription manager. + This value is communicated via the wse:GrantedExpires element + (see below). </p> <p> @@ -1219,7 +1243,7 @@ </wse:SubscriptionManager> <wse:GrantedExpires ...> (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) - </wse:GrantedExpires> ? + </wse:GrantedExpires> <emph>xs:any</emph>* </wse:SubscribeResponse></eg> </example> @@ -1261,10 +1285,8 @@ </p> <p> - If this element does not appear, then the subscription - will not expire. That is, the subscription has an indefinite - lifetime. Likewise, a value of PT0S indicates that the - subscription will not expire. + A wse:GrantedExpires value of PT0S indicates that the + subscription will never expire. </p> </def> </gitem> @@ -1703,14 +1725,15 @@ <head>Unsubscribe</head> <p> - Though subscriptions expire eventually, to minimize resources, - the subscriber SHOULD explicitly delete a + Though subscriptions with a non-infinite expiration time will + eventually be canceled, to minimize resources, + the subscriber SHOULD explicitly cancel a subscription when it no longer wants notifications associated with the subscription. </p> <p> - To explicitly delete a subscription, a subscriber + To explicitly cancel a subscription, a subscriber sends an Unsubscribe request message to the subscription manager. This operation MUST be supported by compliant subscription managers. The Unsubscribe request message MUST be of the following form: @@ -1730,12 +1753,12 @@ Components of the outline above are additionally constrained only as for a request to renew a subscription (see <specref ref="Renew"/>). For example, the faults listed - there are also defined for a request to delete a + there are also defined for a request to cancel a subscription. </p> <p> - If the subscription manager accepts a request to delete a + If the subscription manager accepts a request to cancel a subscription, it MUST reply with a response of the following form: </p> @@ -1756,12 +1779,12 @@ </p> <p> - <specref ref="Table10"/> lists a hypothetical request to delete the + <specref ref="Table10"/> lists a hypothetical request to cancel the subscription created in <specref ref="Table5"/>. </p> <example id="Table10"> - <head>Hypothetical unsubscribe request to delete second subscription</head> + <head>Hypothetical unsubscribe request to cancel second subscription</head> <eg>(01) <s12:Envelope (02) xmlns:s12="http://www.w3.org/2003/05/soap-envelope" (03) xmlns:wsa="http://www.w3.org/2005/08/addressing" @@ -1792,7 +1815,7 @@ <p> Lines (07-09) in <specref ref="Table10"/> indicate the - message is a request to delete a subscription. Lines (16-21) + message is a request to cancel a subscription. Lines (16-21) indicate that the request is addressed to the manager for the subscription created in <specref ref="Table5"/>. </p> @@ -2147,39 +2170,6 @@ </div2> - <div2 id="ExpiresNotSupported"> - <head>ExpiresNotSupported</head> - - <p> - This fault MUST be generated when a request specifies an - expiration but the event source does not support Expires. - </p> - - <table border="1"> - <tbody> - <tr> - <td><kw>[Code]</kw></td> - <td>s12:Sender</td> - </tr> - - <tr> - <td><kw>[Subcode]</kw></td> - <td>wse:ExpiresNotSupported</td> - </tr> - - <tr> - <td><kw>[Reason]</kw></td> - <td>The specification of an Expires element is not allowed.</td> - </tr> - - <tr> - <td><kw>[Detail]</kw></td> - <td><emph>none</emph></td> - </tr> - </tbody> - </table> - </div2> - <div2 id="UnsupportedExpirationValue"> <head>UnsupportedExpirationValue</head> @@ -2707,9 +2697,8 @@ <!-- Notification WSDL can go here - see <specref show="title" ref="Advertising"/> --> <emph>xs:any</emph>* </wse:FormatName> * - <wse:ExpiresSupported .../> ? <wse:DateTimeSupported .../> ? - <wse:MaxExpires ...> <emph>xs:duration</emph> </wse:MaxExpires> ? + <wse:Expires min="<emph>xs:duration</emph>"? max="<emph>xs:duration</emph>"? .../> ? <wse:EndToSupported .../> ? <wse:NotificationPolicy ...> <emph>xs:any</emph> @@ -2784,16 +2773,6 @@ </gitem> <gitem> - <label> /wse:EventSource/wse:ExpiresSupported </label> - <def> - <p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Subscribe operations. - </p> - </def> - </gitem> - - <gitem> <label> /wse:EventSource/wse:DateTimeSupported </label> <def> <p> @@ -2804,14 +2783,16 @@ </gitem> <gitem> - <label> /wse:EventSource/wse:MaxExpires </label> + <label> /wse:EventSource/wse:Expires </label> <def> <p> - When present, this OPTIONAL parameter indicates the maximum - subscription expiration time that this endpoint will support. - The implied default value is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - subscriptions with an infinite lifetime. + When present, this OPTIONAL parameter indicates the minimum and + maximum subscription expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the Event Source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p> </def> </gitem> @@ -2917,9 +2898,8 @@ <example> <eg><wse:SubscriptionManager ...> - <wse:ExpiresTimeSupported .../> ? <wse:DateTimeSupported .../> ? - <wse:MaxExpires ...> <emph>xs:duration</emph> </wse:MaxExpires> ? + <wse:Expires min="<emph>xs:duration</emph>"? max="<emph>xs:duration</emph>"? .../> ? <emph>xs:any</emph>* </wse:SubscriptionManager></eg> </example> @@ -2945,16 +2925,6 @@ </gitem> <gitem> - <label> /wse:SubscriptionManager/wse:ExpiresTimeSupported </label> - <def> - <p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Renew operation. - </p> - </def> - </gitem> - - <gitem> <label> /wse:SubscriptionManager/wse:DateTimeSupported </label> <def> <p> @@ -2965,14 +2935,16 @@ </gitem> <gitem> - <label> /wse:SubscriptionManager/wse:MaxExpires </label> + <label> /wse:SubscriptionManager/wse:Expires </label> <def> <p> - When present, this OPTIONAL parameter indicates the maximum - subscriptions expiration time that this endpoint will support. - The implied default is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - subscriptions with an infinite lifetime. + When present, this OPTIONAL parameter indicates the minimum and + maximum subscription expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the Event Source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p> </def> </gitem> @@ -3737,8 +3709,7 @@ <xs:element name='RenewResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -3761,8 +3732,7 @@ <xs:element name='GetStatusResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -3890,9 +3860,13 @@ <xs:anyAttribute namespace="##other" processContents='lax'/> </xs:complexType> </xs:element> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element> <xs:element name='EndToSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='NotificationPolicy' type='tns:NotificationPolicy' minOccurs='0'/> @@ -3906,9 +3880,13 @@ <xs:element name='SubscriptionManager'> <xs:complexType> <xs:sequence> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded'/> </xs:sequence> @@ -5155,6 +5133,13 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10376">10376</loc> </td> </tr> + <tr> + <td> 2010/08/18 </td> + <td> DD </td> + <td> Added resolution of issue + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10960">10960</loc> + </td> + </tr> </tbody> </table> </div1> Index: wseventing.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.html,v retrieving revision 1.211 retrieving revision 1.212 diff -u -d -r1.211 -r1.212 --- wseventing.html 12 Oct 2010 16:08:23 -0000 1.211 +++ wseventing.html 17 Nov 2010 03:53:31 -0000 1.212 @@ -62,38 +62,37 @@ 5 <a href="#Notifications">Notifications</a><br/> 6 <a href="#Faults">Faults</a><br/> 6.1 <a href="#FaultDetailRetryElement">Fault Detail RetryAfter Element</a><br/> - 6.2 <a href="#ExpiresNotSupported">ExpiresNotSupported</a><br/> - 6.3 <a href="#UnsupportedExpirationValue">UnsupportedExpirationValue</a><br/> - 6.4 <a href="#UnsupportedExpirationType">UnsupportedExpirationType</a><br/> - 6.5 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> - 6.6 <a href="#FilteringRequestedUnavailable">FilteringRequestedUnavailable</a><br/> - 6.7 <a href="#DeliveryFormatRequestedUnavailable">DeliveryFormatRequestUnavailable</a><br/> - 6.8 <a href="#EmptyFilter">EmptyFilter</a><br/> - 6.9 <a href="#UnusableEPR">UnusableEPR</a><br/> - 6.10 <a href="#UnknownSubscription">UnknownSubscription</a><br/> - 6.11 <a href="#EndToNotSupported">EndToNotSupported</a><br/> - 6.12 <a href="#NoDeliveryMechanismEstablished">NoDeliveryMechanismEstablished</a><br/> + 6.2 <a href="#UnsupportedExpirationValue">UnsupportedExpirationValue</a><br/> + 6.3 <a href="#UnsupportedExpirationType">UnsupportedExpirationType</a><br/> + 6.4 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> + 6.5 <a href="#FilteringRequestedUnavailable">FilteringRequestedUnavailable</a><br/> + 6.6 <a href="#DeliveryFormatRequestedUnavailable">DeliveryFormatRequestUnavailable</a><br/> + 6.7 <a href="#EmptyFilter">EmptyFilter</a><br/> + 6.8 <a href="#UnusableEPR">UnusableEPR</a><br/> + 6.9 <a href="#UnknownSubscription">UnknownSubscription</a><br/> + 6.10 <a href="#EndToNotSupported">EndToNotSupported</a><br/> + 6.11 <a href="#NoDeliveryMechanismEstablished">NoDeliveryMechanismEstablished</a><br/> 7 <a href="#Security">Security Considerations</a><br/> - 7.1 <a href="#iddiv2x1x2126">Notifications</a><br/> - 7.2 <a href="#iddiv2x1x2135">Subscriptions</a><br/> - 7.3 <a href="#iddiv2x1x2140">Endpoint Verification</a><br/> + 7.1 <a href="#iddiv2x1x2080">Notifications</a><br/> + 7.2 <a href="#iddiv2x1x2089">Subscriptions</a><br/> + 7.3 <a href="#iddiv2x1x2094">Endpoint Verification</a><br/> 8 <a href="#ImplConsideration">Implementation Considerations</a><br/> 9 <a href="#metadata">WS-Eventing Metadata</a><br/> - 9.1 <a href="#iddiv2x1x2166">EventSource Assertion</a><br/> - 9.2 <a href="#iddiv2x1x2293">SubscriptionManager Assertion</a><br/> + 9.1 <a href="#iddiv2x1x2120">EventSource Assertion</a><br/> + 9.2 <a href="#iddiv2x1x2244">SubscriptionManager Assertion</a><br/> 10 <a href="#acks">Acknowledgements</a><br/> 11 <a href="#refs">References</a><br/> - 11.1 <a href="#iddiv2x1x2359">Normative References</a><br/> - 11.2 <a href="#iddiv2x1x2493">Informative References</a><br/> + 11.1 <a href="#iddiv2x1x2307">Normative References</a><br/> + 11.2 <a href="#iddiv2x1x2441">Informative References</a><br/> </p> <h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Advertising">Advertising Event Information</a><br/> A.1 <a href="#ETypes">Event Types & Event Descriptions</a><br/> - A.1.1 <a href="#iddiv3x1x2643">Retrieving Event Descriptions</a><br/> - A.1.2 <a href="#iddiv3x1x2691">Bindings for Event Descriptions</a><br/> - A.1.2.1 <a href="#iddiv4x1x2696">Binding for Unwrapped Notifications</a><br/> - A.1.2.2 <a href="#iddiv4x1x2717">Binding for Wrapped Notifications</a><br/> + A.1.1 <a href="#iddiv3x1x2591">Retrieving Event Descriptions</a><br/> + A.1.2 <a href="#iddiv3x1x2639">Bindings for Event Descriptions</a><br/> + A.1.2.1 <a href="#iddiv4x1x2644">Binding for Unwrapped Notifications</a><br/> + A.1.2.2 <a href="#iddiv4x1x2665">Binding for Wrapped Notifications</a><br/> A.2 <a href="#NWSDL">Notification WSDLs</a><br/> - A.2.1 <a href="#iddiv3x1x2744">Retrieving Notification WSDLs</a><br/> + A.2.1 <a href="#iddiv3x1x2692">Retrieving Notification WSDLs</a><br/> B <a href="#Schema">XML Schema</a><br/> C <a href="#WSDL">WSDL</a><br/> D <a href="#wrappedWSDL">WSDL for Standard Wrapped Delivery</a><br/> @@ -138,7 +137,7 @@ <h3><a name="reqs" id="reqs"/>2.1 Requirements</h3><p> This specification intends to meet the following requirements: </p><ul><li><p> - Define means to create and delete event subscriptions. + Define means to create and cancel event subscriptions. </p></li><li><p> Define expiration for subscriptions and allow them to be renewed. </p></li><li><p> @@ -401,10 +400,10 @@ but has not been expired or cancelled. </p></dd><dt class="label"> Subscriber </dt><dd><p> A Web service that sends requests to create, renew, and/or - delete subscriptions. + cancel subscriptions. </p></dd><dt class="label"> Subscription Manager </dt><dd><p> A Web service that accepts requests to manage, get the status of, - renew, and/or delete subscriptions on behalf of an event source. + renew, and/or cancel subscriptions on behalf of an event source. </p></dd></dl></div><div class="div2"> <h3><a name="compliance" id="compliance"/>3.4 Compliance</h3><p> An implementation is not compliant with this specification if it fails to @@ -470,24 +469,33 @@ </a>. </p></div></div><div class="div1"> <h2><a name="SubMsgs" id="SubMsgs"/>4 Subscription Messages</h2><p> - To create, renew, and delete subscriptions, subscribers send + To create, renew, and cancel subscriptions, subscribers send request messages to event sources and subscription managers. </p><p> - When an event source accepts a request to create a - subscription, it typically does so for a given amount of time, - although an event source MAY accept an indefinite subscription - with no time-based expiration. If the subscription manager - accepts a renewal request, it updates that amount of time. During - that time, notifications are delivered to the - requested event sink. An event source MAY support filtering to + Subscriptions are created with a specific expiration time that is + negotiated between the Subscriber and the Event Source/Subscription + Manager via the Subscribe-SubscribeResponse message exchange. This + expiration time can be subsequently re-negotiated via the + Renew-RenewResponse message exchange. There are a number of options + to these negotiations. In addition to requesting a subscription with + a specific expiration time, Subscribers can request a subscription + with an infinite expiration (i.e. a subscription that never expires). + Subscribers can also indicate their willingness to accept a "best effort" + attempt to match their desired expiration, as well as indicate that + the expiration value will be chosen by the Event Source or + Subscription Manager. + </p><p> + An event source MAY support filtering to limit notifications that are delivered to the event sink; if it does, and a subscribe request contains a filter, only events that match the requested filter are sent. - Notifications are sent until one of the following + </p><p> + Notifications are sent to the event sink until one of the following happens: the subscription manager accepts an unsubscribe request - for the subscription; the subscription expires without being - renewed; or the event source cancels the subscription - prematurely. In this last case, the event source makes a best + for the subscription; the subscription expires; + or the event source/subscription manager cancels the subscription + prematurely. In this last case, the event source/subscription manager + makes a best effort to indicate why the subscription ended, via a SubscriptionEnd message if an EndTo was present in the Subscribe message. @@ -499,16 +507,22 @@ at the application layer. </p><p> A subscription can become invalid for any reason including: - </p><ol class="enumar"><li><p>Subscription deleted (via Unsubscribe)</p></li><li><p>Subscription expired</p></li><li><p>Subscription ended (via SubscriptionEnd)</p></li></ol><p> - In addition, the Event Source/Subscription Manager MAY cancel a - subscription at any time, as necessary. + </p><ol class="enumar"><li><p> + Subscription canceled at the request of the subscriber + (via Unsubscribe) + </p></li><li><p>Subscription canceled upon expiration</p></li><li><p> + Subscription canceled due to come condition or action of/by + the Event Source or Subscription Manager. + </p></li></ol><p> + As the last item indicates, the Event Source/Subscription Manager MAY + cancel a subscription at any time. </p><p> When processing a Renew, GetStatus or Unsubscribe operation, a Subscription Manager MUST generate an wse:UnknownSubscription fault if it determines that the subscription is invalid. </p><p> Once a Subscriber determines that a subscription is invalid, it MUST - NOT issue any more WSEventing request messages using that subscription. + NOT issue any more WS-Eventing request messages using that subscription. </p><div class="div2"> <h3><a name="Subscribe" id="Subscribe"/>4.1 Subscribe</h3><p> To create a subscription, a subscriber sends a Subscribe request message @@ -577,13 +591,14 @@ Indicate the wrapped event delivery format. </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Expires </dt><dd><p> This OPTIONAL element can be used by the subscriber to indicate the - expiration time of the requested subscription. If this element - is not present, the implied default expiration time is indefinite. - A value of PT0S indicates a request for an indefinite expiration time. + expiration time of the requested subscription. + A value of PT0S indicates a request for an infinite expiration time + (i.e. a subscription that never expires). </p><p> - If the event source does not support the wse:Expires element - being present in a Subscribe request message then a - wse:ExpiresNotSupported fault MUST be generated. + The absence of the wse:Expires element indicates that the expiration + value will be chosen by the event source or subscription manager. + This value is communicated via the wse:GrantedExpires element + (see below). </p><p> If the wse:Expires element is present and the event source is not able to grant an expiration time that matches the specified value @@ -712,7 +727,7 @@ </wse:SubscriptionManager> <wse:GrantedExpires ...> (<em>xs:dateTime</em> | <em>xs:duration</em>) - </wse:GrantedExpires> ? + </wse:GrantedExpires> <em>xs:any</em>* </wse:SubscribeResponse></pre></div></div><p> The following describes additional, normative constraints on @@ -734,10 +749,8 @@ created, the event source MUST start the expiration interval at or before it transmits the wse:SubscribeResponse message. </p><p> - If this element does not appear, then the subscription - will not expire. That is, the subscription has an indefinite - lifetime. Likewise, a value of PT0S indicates that the - subscription will not expire. + A wse:GrantedExpires value of PT0S indicates that the + subscription will never expire. </p></dd></dl><p> Other components of the outline above are not further constrained by this specification. @@ -1064,12 +1077,13 @@ subscription will expire on 26 June 2004 at noon. </p></div><div class="div2"> <h3><a name="Unsubscribe" id="Unsubscribe"/>4.4 Unsubscribe</h3><p> - Though subscriptions expire eventually, to minimize resources, - the subscriber SHOULD explicitly delete a + Though subscriptions with a non-infinite expiration time will + eventually be canceled, to minimize resources, + the subscriber SHOULD explicitly cancel a subscription when it no longer wants notifications associated with the subscription. </p><p> - To explicitly delete a subscription, a subscriber + To explicitly cancel a subscription, a subscriber sends an Unsubscribe request message to the subscription manager. This operation MUST be supported by compliant subscription managers. The Unsubscribe request message MUST be of the following form: @@ -1083,10 +1097,10 @@ Components of the outline above are additionally constrained only as for a request to renew a subscription (see <a href="#Renew"><b>4.2 Renew</b></a>). For example, the faults listed - there are also defined for a request to delete a + there are also defined for a request to cancel a subscription. </p><p> - If the subscription manager accepts a request to delete a + If the subscription manager accepts a request to cancel a subscription, it MUST reply with a response of the following form: </p><div class="exampleOuter"><div class="exampleInner"><pre><b>[Action]</b> @@ -1098,10 +1112,10 @@ </wse:UnsubscribeResponse></pre></div></div><p> Components of the outline listed above are not further constrained by this specification. - </p><p><a href="#Table10">Example 4-7</a> lists a hypothetical request to delete the + </p><p><a href="#Table10">Example 4-7</a> lists a hypothetical request to cancel the subscription created in <a href="#Table5">Example 4-2</a>. </p><div class="exampleOuter"> -<div class="exampleHeader"><a name="Table10" id="Table10"/>Example 4-7: Hypothetical unsubscribe request to delete second subscription</div><div class="exampleInner"><pre>(01) <s12:Envelope +<div class="exampleHeader"><a name="Table10" id="Table10"/>Example 4-7: Hypothetical unsubscribe request to cancel second subscription</div><div class="exampleInner"><pre>(01) <s12:Envelope (02) xmlns:s12="http://www.w3.org/2003/05/soap-envelope" (03) xmlns:wsa="http://www.w3.org/2005/08/addressing" (04) xmlns:wse="http://www.w3.org/2002/ws/ra/edcopies/ws-evt" @@ -1128,7 +1142,7 @@ (25) </s12:Body> (26) </s12:Envelope></pre></div></div><p> Lines (07-09) in <a href="#Table10">Example 4-7</a> indicate the - message is a request to delete a subscription. Lines (16-21) + message is a request to cancel a subscription. Lines (16-21) indicate that the request is addressed to the manager for the subscription created in <a href="#Table5">Example 4-2</a>. </p><p><a href="#Table11">Example 4-8</a> lists a hypothetical response to the request in @@ -1342,25 +1356,21 @@ message. Omission of this element indicates that a retry is never likely to succeed. </p></dd></dl></div><div class="div2"> -<h3><a name="ExpiresNotSupported" id="ExpiresNotSupported"/>6.2 ExpiresNotSupported</h3><p> - This fault MUST be generated when a request specifies an - expiration but the event source does not support Expires. - </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:ExpiresNotSupported</td></tr><tr><td><b>[Reason]</b></td><td>The specification of an Expires element is not allowed.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnsupportedExpirationValue" id="UnsupportedExpirationValue"/>6.3 UnsupportedExpirationValue</h3><p> +<h3><a name="UnsupportedExpirationValue" id="UnsupportedExpirationValue"/>6.2 UnsupportedExpirationValue</h3><p> This fault MUST be generated when a request specifies an expiration that is not within the min/max range. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnsupportedExpirationValue</td></tr><tr><td><b>[Reason]</b></td><td>The expiration time requested is not within the min/max range.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnsupportedExpirationType" id="UnsupportedExpirationType"/>6.4 UnsupportedExpirationType</h3><p> +<h3><a name="UnsupportedExpirationType" id="UnsupportedExpirationType"/>6.3 UnsupportedExpirationType</h3><p> This fault MUST be generated when a Subscribe request specifies an expiration time and the event source is only capable of accepting expiration durations; for instance, if the event source does not have access to absolute time. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnsupportedExpirationType</td></tr><tr><td><b>[Reason]</b></td><td>Only expiration durations are supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>6.5 FilteringNotSupported</h3><p> +<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>6.4 FilteringNotSupported</h3><p> This fault MUST be generated when a Subscribe request contains a filter and the event source does not support filtering. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:FilteringNotSupported</td></tr><tr><td><b>[Reason]</b></td><td>Filtering is not supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="FilteringRequestedUnavailable" id="FilteringRequestedUnavailable"/>6.6 FilteringRequestedUnavailable</h3><p> +<h3><a name="FilteringRequestedUnavailable" id="FilteringRequestedUnavailable"/>6.5 FilteringRequestedUnavailable</h3><p> This fault MUST be generated when a Subscribe request specifies a filter dialect that the event source does not support. This fault MAY contain a list of supported filter dialect IRIs in the @@ -1369,7 +1379,7 @@ <wse:SupportedDialect> + <br/><em>OPTIONAL; one per filter dialect supported by the receiver</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="DeliveryFormatRequestedUnavailable" id="DeliveryFormatRequestedUnavailable"/>6.7 DeliveryFormatRequestUnavailable</h3><p> +<h3><a name="DeliveryFormatRequestedUnavailable" id="DeliveryFormatRequestedUnavailable"/>6.6 DeliveryFormatRequestUnavailable</h3><p> This fault MUST be generated when a Subscribe request specifies a delivery format that is not supported by the event source. This fault MAY contain a list of supported delivery format IRIs in the @@ -1377,25 +1387,25 @@ </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:DeliveryFormatRequestedUnavailable</td></tr><tr><td><b>[Reason]</b></td><td>The requested delivery format is not supported.</td></tr><tr><td><b>[Detail]</b></td><td> <wse:SupportedDeliveryFormat> + <br/><em> OPTIONAL, one per delivery format supported by the receiver.</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="EmptyFilter" id="EmptyFilter"/>6.8 EmptyFilter</h3><p> +<h3><a name="EmptyFilter" id="EmptyFilter"/>6.7 EmptyFilter</h3><p> This fault MUST be generated when an event source detects a wse:Subscribe request containing a filter that, for whatever reason, will never evaluate to true. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:EmptyFilter</td></tr><tr><td><b>[Reason]</b></td><td>The wse:Filter would result in zero notifications.</td></tr><tr><td><b>[Detail]</b></td><td><em> The wse:Filter value. </em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnusableEPR" id="UnusableEPR"/>6.9 UnusableEPR</h3><p> +<h3><a name="UnusableEPR" id="UnusableEPR"/>6.8 UnusableEPR</h3><p> This fault MUST be generated when an event source detects that the wse:NotifyTo or wse:EndTo EPR is unusable. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnusableEPR</td></tr><tr><td><b>[Reason]</b></td><td>An EPR in the Subscribe request message is unusable.</td></tr><tr><td><b>[Detail]</b></td><td><em> The specific EPR that generated the error and why. </em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnknownSubscription" id="UnknownSubscription"/>6.10 UnknownSubscription</h3><p> +<h3><a name="UnknownSubscription" id="UnknownSubscription"/>6.9 UnknownSubscription</h3><p> This fault MUST be generated when a request specifies a subscription that is not known. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnknownSubscription</td></tr><tr><td><b>[Reason]</b></td><td>The subscription is not known.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="EndToNotSupported" id="EndToNotSupported"/>6.11 EndToNotSupported</h3><p> +<h3><a name="EndToNotSupported" id="EndToNotSupported"/>6.10 EndToNotSupported</h3><p> This fault MUST be generated by an event source that does not support /wse:Subscribe/wse:EndTo semantics, in response to a subscription request that contains a wse:EndTo element. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:EndToNotSupported</td></tr><tr><td><b>[Reason]</b></td><td>wse:EndTo semantics is not supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="NoDeliveryMechanismEstablished" id="NoDeliveryMechanismEstablished"/>6.12 NoDeliveryMechanismEstablished</h3><p> +<h3><a name="NoDeliveryMechanismEstablished" id="NoDeliveryMechanismEstablished"/>6.11 NoDeliveryMechanismEstablished</h3><p> This fault MUST be generated by an event source when the Subscribe request message did not specify a delivery mechanism. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:NoDeliveryMechanismEstablished</td></tr><tr><td><b>[Reason]</b></td><td>No delivery mechanism specified.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div></div><div class="div1"> @@ -1418,7 +1428,7 @@ urged to perform a security analysis to determine their particular threat profile and the appropriate responses to those threats. </p><div class="div2"> -<h3><a name="iddiv2x1x2126" id="iddiv2x1x2126"/>7.1 Notifications</h3><p> +<h3><a name="iddiv2x1x2080" id="iddiv2x1x2080"/>7.1 Notifications</h3><p> The information contained in Notifications might be sensitive. In such cases it is advisable to authenticate and authorize subscribers as part of the processing of the Subscribe request. Note that an @@ -1439,7 +1449,7 @@ and trace the origin of such attempts. Additionally, the authorization of Subscribers reduces the pool of potential attackers. </p></div><div class="div2"> -<h3><a name="iddiv2x1x2135" id="iddiv2x1x2135"/>7.2 Subscriptions</h3><p> +<h3><a name="iddiv2x1x2089" id="iddiv2x1x2089"/>7.2 Subscriptions</h3><p> Once created, subscriptions ought to be treated as protected resources. Renew, GetStatus, and Unsubscribe requests ought to be authenticated and authorized (for example, the identity of the @@ -1454,7 +1464,7 @@ the identities of these entities are discovered and verified) are particular to individual deployments. </p></div><div class="div2"> -<h3><a name="iddiv2x1x2140" id="iddiv2x1x2140"/>7.3 Endpoint Verification</h3><p> +<h3><a name="iddiv2x1x2094" id="iddiv2x1x2094"/>7.3 Endpoint Verification</h3><p> Implementations that perform validity checks on the EPRs used in WS-Eventing (wse:NotifyTo, wse:EndTo) are advised that such checks can be misused to obtain information about a target network. For @@ -1505,7 +1515,7 @@ that indicate a particular security mechanism used to protect the WS-Eventing operations supported by this endpoint. </p><div class="div2"> -<h3><a name="iddiv2x1x2166" id="iddiv2x1x2166"/>9.1 EventSource Assertion</h3><p> +<h3><a name="iddiv2x1x2120" id="iddiv2x1x2120"/>9.1 EventSource Assertion</h3><p> Services indicate support for the WS-Eventing's definition of an event source through the use of the Web Services Policy - Framework <a href="#wspolicy">[WS-Policy]</a> and Web Services Policy - @@ -1521,9 +1531,8 @@ <!-- Notification WSDL can go here - see <a href="#Advertising"><b>Advertising Event Information</b></a> --> <em>xs:any</em>* </wse:FormatName> * - <wse:ExpiresSupported .../> ? <wse:DateTimeSupported .../> ? - <wse:MaxExpires ...> <em>xs:duration</em> </wse:MaxExpires> ? + <wse:Expires min="<em>xs:duration</em>"? max="<em>xs:duration</em>"? .../> ? <wse:EndToSupported .../> ? <wse:NotificationPolicy ...> <em>xs:any</em> @@ -1555,18 +1564,17 @@ that appears is scoped to the use of the specified FormatName URI. If the Event Source advertises Notification WSDL then it MUST appear as a child of the FormatName element. - </p></dd><dt class="label"> /wse:EventSource/wse:ExpiresSupported </dt><dd><p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Subscribe operations. </p></dd><dt class="label"> /wse:EventSource/wse:DateTimeSupported </dt><dd><p> When present, this OPTIONAL parameter indicates support for expiration time expressed as specific time (rather than duration). - </p></dd><dt class="label"> /wse:EventSource/wse:MaxExpires </dt><dd><p> - When present, this OPTIONAL parameter indicates the maximum - subscription expiration time that this endpoint will support. - The implied default value is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - subscriptions with an infinite lifetime. + </p></dd><dt class="label"> /wse:EventSource/wse:Expires </dt><dd><p> + When present, this OPTIONAL parameter indicates the minimum and + maximum subscription expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the Event Source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p></dd><dt class="label"> /wse:EventSource/wse:EndToSupported </dt><dd><p> When present, this OPTIONAL parameter indicates support for the /wse:Subscribe/wse:EndTo semantics. That is, when a subscription @@ -1619,7 +1627,7 @@ (10) - (12) contains the EventDescription data that describes the syntax of the events that this event source might send. </p></div><div class="div2"> -<h3><a name="iddiv2x1x2293" id="iddiv2x1x2293"/>9.2 SubscriptionManager Assertion</h3><p> +<h3><a name="iddiv2x1x2244" id="iddiv2x1x2244"/>9.2 SubscriptionManager Assertion</h3><p> Services indicate support for the WS-Eventing's definition of a subscription manager through the use of the Web Services @@ -1629,9 +1637,8 @@ This specification defines a policy assertion (wse:SubscriptionManager). The normative outline of this assertion is: </p><div class="exampleOuter"><div class="exampleInner"><pre><wse:SubscriptionManager ...> - <wse:ExpiresTimeSupported .../> ? <wse:DateTimeSupported .../> ? - <wse:MaxExpires ...> <em>xs:duration</em> </wse:MaxExpires> ? + <wse:Expires min="<em>xs:duration</em>"? max="<em>xs:duration</em>"? .../> ? <em>xs:any</em>* </wse:SubscriptionManager></pre></div></div><p> The following describes additional, normative constraints on the @@ -1642,18 +1649,17 @@ manager and the WS-Eventing protocol MUST be used when communicating with this endpoint. - </p></dd><dt class="label"> /wse:SubscriptionManager/wse:ExpiresTimeSupported </dt><dd><p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Renew operation. </p></dd><dt class="label"> /wse:SubscriptionManager/wse:DateTimeSupported </dt><dd><p> When present, this OPTIONAL parameter indicates support for expiration time expressed as specific time (rather than duration). - </p></dd><dt class="label"> /wse:SubscriptionManager/wse:MaxExpires </dt><dd><p> - When present, this OPTIONAL parameter indicates the maximum - subscriptions expiration time that this endpoint will support. - The implied default is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - subscriptions with an infinite lifetime. + </p></dd><dt class="label"> /wse:SubscriptionManager/wse:Expires </dt><dd><p> + When present, this OPTIONAL parameter indicates the minimum and + maximum subscription expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the Event Source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p></dd><dt class="label"> /wse:SubscriptionManager/xs:any </dt><dd><p> This extensibility point allows for additional WS-Eventing specific metadata to be included within the policy assertion - @@ -1692,7 +1698,7 @@ Yves Lafon (W3C/ERCIM). </p></div><div class="div1"> <h2><a name="refs" id="refs"/>11 References</h2><div class="div2"> -<h3><a name="iddiv2x1x2359" id="iddiv2x1x2359"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> +<h3><a name="iddiv2x1x2307" id="iddiv2x1x2307"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> Key words for use in RFCs to Indicate Requirement Levels </cite></a> , S. Bradner, Author. @@ -1744,7 +1750,7 @@ , E. Christensen, et al., Editors. World Wide Web Consortium (W3C), 15 March 2001 Available at <a href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315">http://www.w3.org/TR/2001/NOTE-wsdl-20010315</a>.</dd></dl></div><div class="div2"> -<h3><a name="iddiv2x1x2493" id="iddiv2x1x2493"/>11.2 Informative References</h3><dl><dt class="label"><a name="WSMC" id="WSMC"/>WS-MakeConnection</dt><dd><a href="http://docs.oasis-open.org/ws-rx/wsmc/v1.1/wsmc.doc"><cite> +<h3><a name="iddiv2x1x2441" id="iddiv2x1x2441"/>11.2 Informative References</h3><dl><dt class="label"><a name="WSMC" id="WSMC"/>WS-MakeConnection</dt><dd><a href="http://docs.oasis-open.org/ws-rx/wsmc/v1.1/wsmc.doc"><cite> OASIS Standard, "Web Services Make Connection (WS-MakeConnection) 1.1" Web Services Make Connection (WS-MakeConnection) </cite></a> @@ -1822,7 +1828,7 @@ serve as a description of the Event Type used in <a href="#Table1">Example 2-1</a>. </p><div class="exampleOuter"> -<div class="exampleHeader"><a name="idexamplex1x2633" id="idexamplex1x2633"/>Example A-1: EventDescriptions</div><div class="exampleInner"><pre>(01) <wsevd:EventDescriptions +<div class="exampleHeader"><a name="idexamplex1x2581" id="idexamplex1x2581"/>Example A-1: EventDescriptions</div><div class="exampleInner"><pre>(01) <wsevd:EventDescriptions (02) targetNamespace="http://www.example.org/oceanwatch/notifications" (03) xmlns:wsevd="http://www.w3.org/2002/ws/ra/edcopies/ws-evt" (04) xmlns:ow="http://www.example.org/oceanwatch"> @@ -1843,7 +1849,7 @@ (GED) for this Event Type is defined on line (08) as being of type "{http://www.example.org/oceanwatch}:WindReportType". </p><div class="div3"> -<h4><a name="iddiv3x1x2643" id="iddiv3x1x2643"/>A.1.1 Retrieving Event Descriptions</h4><p> +<h4><a name="iddiv3x1x2591" id="iddiv3x1x2591"/>A.1.1 Retrieving Event Descriptions</h4><p> Although there are many ways in which an event source can make its EventDescriptions available, this specification RECOMMENDS the use of the mechanisms described in WS-MetadataExchange <a href="#MEX">[WS-MetadataExchange]</a>. @@ -1890,7 +1896,7 @@ (10) </mex:GetMetadataResponse> </pre></div></div><p><a href="#mexEVD">Example A-4</a> shows how the Event Descriptions metadata might appear within a GetMetadataResponse message. </p></div><div class="div3"> -<h4><a name="iddiv3x1x2691" id="iddiv3x1x2691"/>A.1.2 Bindings for Event Descriptions</h4><p> +<h4><a name="iddiv3x1x2639" id="iddiv3x1x2639"/>A.1.2 Bindings for Event Descriptions</h4><p> For any Notification Format it MUST be possible to determine how a given wsevd:eventType will appear on the wire as a notification in a subscription created with that format. The following sections define @@ -1902,7 +1908,7 @@ Format, implementations MAY provide a Notification WSDL (see below) that explicitly describes the notification operations. </p><div class="div4"> -<h5><a name="iddiv4x1x2696" id="iddiv4x1x2696"/>A.1.2.1 Binding for Unwrapped Notifications</h5><p> +<h5><a name="iddiv4x1x2644" id="iddiv4x1x2644"/>A.1.2.1 Binding for Unwrapped Notifications</h5><p> The information about an Event Type contained in the wsevd:eventType element binds to a Unwrapped Notification for that type as follows: </p><ul><li><p> @@ -1917,7 +1923,7 @@ event being transmitted. If the @element attribute is absent then the <b>[Body]</b> property has no children. </p></li></ul></div><div class="div4"> -<h5><a name="iddiv4x1x2717" id="iddiv4x1x2717"/>A.1.2.2 Binding for Wrapped Notifications</h5><p> +<h5><a name="iddiv4x1x2665" id="iddiv4x1x2665"/>A.1.2.2 Binding for Wrapped Notifications</h5><p> The information about an Event Type contained in the eventType element binds to a Wrapped Notification for that type as follows: </p><ul><li><p> @@ -1943,7 +1949,7 @@ successful Subscribe request that used a particular Format IRI. The following is an example of a Notification WSDL: </p><div class="exampleOuter"> -<div class="exampleHeader"><a name="idexamplex1x2738" id="idexamplex1x2738"/>Example A-5: Notification WSDL</div><div class="exampleInner"><pre>(01) <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" +<div class="exampleHeader"><a name="idexamplex1x2686" id="idexamplex1x2686"/>Example A-5: Notification WSDL</div><div class="exampleInner"><pre>(01) <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" (02) targetNamespace="http://www.example.org/oceanwatch/notifications" (03) xmlns:xs="http://www.w3.org/2001/XMLSchema" (04) xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" @@ -1978,7 +1984,7 @@ (33) </wsdl:operation> (34) </wsdl:binding> (35) </wsdl:definitions></pre></div></div><div class="div3"> -<h4><a name="iddiv3x1x2744" id="iddiv3x1x2744"/>A.2.1 Retrieving Notification WSDLs</h4><p> +<h4><a name="iddiv3x1x2692" id="iddiv3x1x2692"/>A.2.1 Retrieving Notification WSDLs</h4><p> Although there are many ways in which an event source can make Notification WSDLs available, this specification RECOMMENDS the use of the mechanisms described in WS-MetadataExchange <a href="#MEX">[WS-MetadataExchange]</a>. @@ -2178,8 +2184,7 @@ <xs:element name='RenewResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -2202,8 +2207,7 @@ <xs:element name='GetStatusResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -2331,9 +2335,13 @@ <xs:anyAttribute namespace="##other" processContents='lax'/> </xs:complexType> </xs:element> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element> <xs:element name='EndToSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='NotificationPolicy' type='tns:NotificationPolicy' minOccurs='0'/> @@ -2347,9 +2355,13 @@ <xs:element name='SubscriptionManager'> <xs:complexType> <xs:sequence> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded'/> </xs:sequence> @@ -2712,4 +2724,5 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=9610">9610</a></td></tr><tr><td> 2010/06/15 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=9610">9610</a></td></tr><tr><td> 2010/08/17 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10339">10339</a></td></tr><tr><td> 2010/08/18 </td><td> DD </td><td> Added resolution of issue - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10376">10376</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10376">10376</a></td></tr><tr><td> 2010/08/18 </td><td> DD </td><td> Added resolution of issue + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10960">10960</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file Index: wsenum.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wsenum.html,v retrieving revision 1.148 retrieving revision 1.149 diff -u -d -r1.148 -r1.149 --- wsenum.html 12 Oct 2010 16:08:23 -0000 1.148 +++ wsenum.html 17 Nov 2010 03:53:30 -0000 1.149 @@ -56,28 +56,27 @@ 4.4 <a href="#Release">Release</a><br/> 4.5 <a href="#EnumerationEnd">EnumerationEnd</a><br/> 5 <a href="#Faults">Faults</a><br/> - 5.1 <a href="#ExpiresNotSupported">ExpiresNotSupported</a><br/> - 5.2 <a href="#UnsupportedExpirationValue">UnsupportedExpirationValue</a><br/> - 5.3 <a href="#UnsupportedExpirationTime">UnsupportedExpirationTime</a><br/> - 5.4 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> - 5.5 <a href="#FilterDialectRequestedUnavailable">FilterDialectRequestedUnavailable</a><br/> - 5.6 <a href="#CannotProcessFilter">CannotProcessFilter</a><br/> - 5.7 <a href="#InvalidEnumerationContext">InvalidEnumerationContext</a><br/> - 5.8 <a href="#TimedOut">TimedOut</a><br/> - 5.9 <a href="#UnusableEPR">UnusableEPR</a><br/> - 5.10 <a href="#EndToNotSupported">EndToNotSupported</a><br/> - 5.11 <a href="#EmptyFilter">EmptyFilter</a><br/> - 5.12 <a href="#MaxElementsMustBeZero">MaxElementsMustBeZero</a><br/> + 5.1 <a href="#UnsupportedExpirationValue">UnsupportedExpirationValue</a><br/> + 5.2 <a href="#UnsupportedExpirationTime">UnsupportedExpirationTime</a><br/> + 5.3 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> + 5.4 <a href="#FilterDialectRequestedUnavailable">FilterDialectRequestedUnavailable</a><br/> + 5.5 <a href="#CannotProcessFilter">CannotProcessFilter</a><br/> + 5.6 <a href="#InvalidEnumerationContext">InvalidEnumerationContext</a><br/> + 5.7 <a href="#TimedOut">TimedOut</a><br/> + 5.8 <a href="#UnusableEPR">UnusableEPR</a><br/> + 5.9 <a href="#EndToNotSupported">EndToNotSupported</a><br/> + 5.10 <a href="#EmptyFilter">EmptyFilter</a><br/> + 5.11 <a href="#MaxElementsMustBeZero">MaxElementsMustBeZero</a><br/> 6 <a href="#Security">Security Considerations</a><br/> - 6.1 <a href="#iddiv2x1x1949">Creating Enumeration Contexts</a><br/> - 6.2 <a href="#iddiv2x1x1954">Protecting Enumeration Contexts</a><br/> - 6.3 <a href="#iddiv2x1x1961">Endpoint Verification</a><br/> + 6.1 <a href="#iddiv2x1x1900">Creating Enumeration Contexts</a><br/> + 6.2 <a href="#iddiv2x1x1905">Protecting Enumeration Contexts</a><br/> + 6.3 <a href="#iddiv2x1x1912">Endpoint Verification</a><br/> 7 <a href="#metadata">WS-Enumeration Metadata</a><br/> - 7.1 <a href="#iddiv2x1x1981">Enumeration Assertion</a><br/> + 7.1 <a href="#iddiv2x1x1932">Enumeration Assertion</a><br/> 8 <a href="#acks">Acknowledgements</a><br/> 9 <a href="#refs">References</a><br/> - 9.1 <a href="#iddiv2x1x2110">Normative References</a><br/> - 9.2 <a href="#iddiv2x1x2296">Informative References</a><br/> + 9.1 <a href="#iddiv2x1x2052">Normative References</a><br/> + 9.2 <a href="#iddiv2x1x2238">Informative References</a><br/> </p> <h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#schema">XML Schema</a><br/> B <a href="#WSDL">WSDL</a><br/> @@ -367,14 +366,14 @@ </p><ol class="enumar"><li><p> Enumeration completed (i.e. an EndOfSequence has been returned in a Enumerate response) - </p></li><li><p> Enumeration released </p></li><li><p> Enumeration expired </p></li><li><p> - Enumeration ended (i.e. ended via an EnumerationEnd message from - data source) - </p></li><li><p> + </p></li><li><p> Enumeration released </p></li><li><p> Enumeration expired </p></li><li><p> Enumeration context replaced in the response to another Enumerate request + </p></li><li><p> + Enumeration ended (i.e. as indicated via an EnumerationEnd message from + data source) </p></li></ol><p> - In addition, the data source MAY invalidate an - enumeration context at any time, as necessary. + As the last item indicates, the data source MAY invalidate an + enumeration context at any time. </p><p> When processing a Enumerate, Renew, GetStatus or Release operation, a data source MUST generate an wsen:InvalidEnumerationContext fault if @@ -451,13 +450,14 @@ message. </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:NewContext/wsen:Expires </dt><dd><p> This OPTIONAL element can be used by the consumer to indicate the - expiration time of the requested enumeration. If this element - is not present, the implied default expiration time is indefinite. - A value of PT0S indicates a request for an indefinite expiration time. + expiration time of the requested enumeration. + A value of PT0S indicates a request for an infinite expiration time + (i.e. an enumeration that never expires). </p><p> - If the data source does not support the wsen:Expires element - being present in a Enumerate request message then a - wsen:ExpiresNotSupported fault MUST be generated. + The absence of the wsen:Expires element indicates that the expiration + value will be chosen by the data source. + This value is communicated via the wsen:GrantedExpires element + (see below). </p><p> If the wsen:Expires element is present and the data source is not able to grant an expiration time that matches the specified value @@ -648,7 +648,7 @@ <wsen:EnumerateResponse ...> <wsen:GrantedExpires ...> (<em>xs:dateTime</em> | <em>xs:duration</em>) - </wsen:GrantedExpires> ? + </wsen:GrantedExpires> <wsen:EnumerationContext ...>...</wsen:EnumerationContext> ? <wsen:Items> <xs:any> enumeration-specific element </xs:any> + @@ -673,11 +673,8 @@ created, the data source MUST start the expiration interval at or before it transmits the wsen:EnumerateResponse message. </p><p> - If this element does not appear, then the - enumeration will not expire. That is, the enumeration has an - indefinite lifetime. - Likewise, a value of PT0S indicates that the enumeration will - not expire. + A wsen:GrantedExpires value of PT0S indicates that the enumeration will + never expire. It will terminate when the end of the enumeration is reached, or if the consumer sends a Release request, or by the data source at any time for reasons such as connection @@ -1130,30 +1127,24 @@ </s11:Fault> </s11:Body> </s11:Envelope></pre></div></div><div class="div2"> -<h3><a name="ExpiresNotSupported" id="ExpiresNotSupported"/>5.1 ExpiresNotSupported</h3><p> - This fault MUST be generated when a request specified an expiration - but the data source does not support Expires. - </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:ExpiresNotSupported </td></tr><tr><td><b>[Reason]</b></td><td> - The specification of an Expires element is not allowed. - </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnsupportedExpirationValue" id="UnsupportedExpirationValue"/>5.2 UnsupportedExpirationValue</h3><p> +<h3><a name="UnsupportedExpirationValue" id="UnsupportedExpirationValue"/>5.1 UnsupportedExpirationValue</h3><p> This fault MUST be generated when a request specifies an expiration that is not within the min/max range. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:UnsupportedExpirationValue </td></tr><tr><td><b>[Reason]</b></td><td> The expiration time requested is not within the min/max range. </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnsupportedExpirationTime" id="UnsupportedExpirationTime"/>5.3 UnsupportedExpirationTime</h3><p> +<h3><a name="UnsupportedExpirationTime" id="UnsupportedExpirationTime"/>5.2 UnsupportedExpirationTime</h3><p> This fault MUST be generated when the Enumerate expiration time that is specified is not a duration. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:UnsupportedExpirationTime </td></tr><tr><td><b>[Reason]</b></td><td> Unsupported expiration time. </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>5.4 FilteringNotSupported</h3><p> +<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>5.3 FilteringNotSupported</h3><p> This fault MUST generated when the data source does not support filters. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:FilteringNotSupported </td></tr><tr><td><b>[Reason]</b></td><td> Filtering not supported. </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="FilterDialectRequestedUnavailable" id="FilterDialectRequestedUnavailable"/>5.5 FilterDialectRequestedUnavailable</h3><p> +<h3><a name="FilterDialectRequestedUnavailable" id="FilterDialectRequestedUnavailable"/>5.4 FilterDialectRequestedUnavailable</h3><p> This fault MUST be generated when the data source does not support the requested filter dialect. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:FilterDialectRequestedUnavailable </td></tr><tr><td><b>[Reason]</b></td><td> @@ -1162,13 +1153,13 @@ <wsen:SupportedDialect> + <br/><em>OPTIONAL; repeating; one per filter dialect supported by the receiver</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="CannotProcessFilter" id="CannotProcessFilter"/>5.6 CannotProcessFilter</h3><p> +<h3><a name="CannotProcessFilter" id="CannotProcessFilter"/>5.5 CannotProcessFilter</h3><p> This fault MUST be generated when the data source can not process the filter content. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:CannotProcessFilter </td></tr><tr><td><b>[Reason]</b></td><td> Cannot filter as requested. </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="InvalidEnumerationContext" id="InvalidEnumerationContext"/>5.7 InvalidEnumerationContext</h3><p> +<h3><a name="InvalidEnumerationContext" id="InvalidEnumerationContext"/>5.6 InvalidEnumerationContext</h3><p> This fault MUST be generated when the enumeration context is invalid. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Receiver </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:InvalidEnumerationContext </td></tr><tr><td><b>[Reason]</b></td><td><em> Text explaining why the enumeration context is no longer valid, or @@ -1177,25 +1168,25 @@ <em> if no additional information is available. </em></td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="TimedOut" id="TimedOut"/>5.8 TimedOut</h3><p> +<h3><a name="TimedOut" id="TimedOut"/>5.7 TimedOut</h3><p> This fault MUST be generated when the data source times out during the processing of a Enumerate operation, if the wsen:MaxTime is reached. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Receiver </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:TimedOut </td></tr><tr><td><b>[Reason]</b></td><td> Timeout. </td></tr><tr><td><b>[Detail]</b></td><td> </td></tr></tbody></table></div><div class="div2"> -<h3><a name="UnusableEPR" id="UnusableEPR"/>5.9 UnusableEPR</h3><p> +<h3><a name="UnusableEPR" id="UnusableEPR"/>5.8 UnusableEPR</h3><p> This fault MUST be generated when a data source detects that the wsen:EndTo EPR is unusable. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wsen:UnusableEPR</td></tr><tr><td><b>[Reason]</b></td><td>The wsen:EndTo EPR is unusable.</td></tr><tr><td><b>[Detail]</b></td><td><em> Details as to why the EPR is unusable. </em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="EndToNotSupported" id="EndToNotSupported"/>5.10 EndToNotSupported</h3><p> +<h3><a name="EndToNotSupported" id="EndToNotSupported"/>5.9 EndToNotSupported</h3><p> This fault MUST be generated by a data source that does not support /wsen:Enumerate/wsen:NewContext/wsen:EndTo semantics, in response to a Enumerate request that contains a wsen:EndTo element. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wsen:EndToNotSupported</td></tr><tr><td><b>[Reason]</b></td><td>wsen:EndTo semantics is not supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="EmptyFilter" id="EmptyFilter"/>5.11 EmptyFilter</h3><p> +<h3><a name="EmptyFilter" id="EmptyFilter"/>5.10 EmptyFilter</h3><p> This fault MUST be generated when a data source detects a Enumerate request containing a filter that, for whatever reason, will never evaluate to true. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wsen:EmptyFilter</td></tr><tr><td><b>[Reason]</b></td><td>The wsen:Filter would result in zero data items.</td></tr><tr><td><b>[Detail]</b></td><td><em> The wsen:Filter value. </em></td></tr></tbody></table></div><div class="div2"> -<h3><a name="MaxElementsMustBeZero" id="MaxElementsMustBeZero"/>5.12 MaxElementsMustBeZero</h3><p> +<h3><a name="MaxElementsMustBeZero" id="MaxElementsMustBeZero"/>5.11 MaxElementsMustBeZero</h3><p> This fault MUST be generated by a data source that does not support returning items in a Enumerate response and the Enumerate request did not include a wsen:MaxElements with a value of zero. @@ -1219,7 +1210,7 @@ a security analysis to determine their particular threat profile and the appropriate responses to those threats. </p><div class="div2"> -<h3><a name="iddiv2x1x1949" id="iddiv2x1x1949"/>6.1 Creating Enumeration Contexts</h3><p> +<h3><a name="iddiv2x1x1900" id="iddiv2x1x1900"/>6.1 Creating Enumeration Contexts</h3><p> An enumeration represents a logical cursor through a sequence of data items. If the information in these items is sensitive, it is advisable to for Data Sources to authenticate and authorize Consumers @@ -1230,7 +1221,7 @@ the time the Enumerate request is processed or varies during the lifetime of the enumeration. </p></div><div class="div2"> -<h3><a name="iddiv2x1x1954" id="iddiv2x1x1954"/>6.2 Protecting Enumeration Contexts</h3><p> +<h3><a name="iddiv2x1x1905" id="iddiv2x1x1905"/>6.2 Protecting Enumeration Contexts</h3><p> Once created, it is advisable to treat Enumeration Contexts as protected resources. Renew, GetStatus, and Release requests ought to be authenticated and authorized (for example, the identity of the @@ -1252,7 +1243,7 @@ Data Sources are advised to authenticate and authorize clients sending Enumerate requests. </p></div><div class="div2"> -<h3><a name="iddiv2x1x1961" id="iddiv2x1x1961"/>6.3 Endpoint Verification</h3><p> +<h3><a name="iddiv2x1x1912" id="iddiv2x1x1912"/>6.3 Endpoint Verification</h3><p> Data Source implementations that perform validity checks on the EndTo EPR used in the Enumerate request are advised that such checks can be misused to obtain information about a target network. For @@ -1294,7 +1285,7 @@ that indicate a particular security mechanism used to protect the WS-Enumeration operations supported by this endpoint. </p><div class="div2"> -<h3><a name="iddiv2x1x1981" id="iddiv2x1x1981"/>7.1 Enumeration Assertion</h3><p> +<h3><a name="iddiv2x1x1932" id="iddiv2x1x1932"/>7.1 Enumeration Assertion</h3><p> Services indicate support for the WS-Enumeration's definition of a data source through the use of the Web Services Policy - Framework <a href="#wspolicy">[WS-Policy]</a> and Web Services Policy - @@ -1303,18 +1294,17 @@ This specification defines a policy assertion (wsen:DataSource). The normative outline of this assertion is: </p><div class="exampleOuter"><div class="exampleInner"><pre><wsen:DataSource ...> - <wsen:FilterDialect URI="<em>xs:anyURI</em>" ...> - <em>xs:any</em>* - </wsen:FilterDialect> * - <wsen:ExpiresSupported .../> ? - <wsen:DateTimeSupported .../> ? - <wsen:MaxExpires ...> <em>xs:duration</em> </wsen:MaxExpires> ? - <wsen:MaxTime ...> <em>xs:duration</em> </wsen:MaxTime> ? - <wsen:MaxElements ...> <em>xs:long</em> </wsen:MaxElements> ? - <wsen:MaxCharacters ...> <em>xs:long</em> </wsen:MaxCharacters> ? - <wsen:EndToSupported .../> ? - <wsen:ItemsOnNewContextSupported .../> ? - <em>xs:any</em>* + <wsen:FilterDialect URI="<em>xs:anyURI</em>" ...> + <em>xs:any</em>* + </wsen:FilterDialect> * + <wsen:DateTimeSupported .../> ? + <wsen:Expires min="<em>xs:duration</em>"? max="<em>xs:duration</em>"? .../> ? + <wsen:MaxTime ...> <em>xs:duration</em> </wsen:MaxTime> ? + <wsen:MaxElements ...> <em>xs:long</em> </wsen:MaxElements> ? + <wsen:MaxCharacters ...> <em>xs:long</em> </wsen:MaxCharacters> ? + <wsen:EndToSupported .../> ? + <wsen:ItemsOnNewContextSupported .../> ? + <em>xs:any</em>* </wsen:DataSource></pre></div></div><p> The following describes additional, normative constraints on the outline listed above: @@ -1331,21 +1321,17 @@ specific metadata to be included within the policy assertion. Any metadata that appears is scoped to the use of the specified FilterDialect URI. - </p></dd><dt class="label"> /wsen:DataSource/wsen:ExpiresSupported </dt><dd><p> - When present, this OPTIONAL parameter indicates support for - Expiration element on the Enumerate and Renew operations. - </p></dd><dt class="label"> /wsen:DataSource/wsen:ExpiresSupported </dt><dd><p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Enumerate and Renew operations. </p></dd><dt class="label"> /wsen:DataSource/wsen:DateTimeSupported </dt><dd><p> When present, this OPTIONAL parameter indicates support for expiration time expressed as specific time (rather than duration). - </p></dd><dt class="label"> /wsen:DataSource/wsen:MaxExpires </dt><dd><p> - When present, this OPTIONAL parameter indicates the maximum lifetime - of enumerations that this endpoint will support. - The implied default is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - enumerations with an infinite lifetime. + </p></dd><dt class="label"> /wsen:DataSource/wsen:Expires </dt><dd><p> + When present, this OPTIONAL parameter indicates the minimum and + maximum enumeration expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the data source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p></dd><dt class="label"> /wsen:DataSource/wsen:MaxTime </dt><dd><p> When present, this OPTIONAL parameter indicates the maximum MaxTime value supported by this endpoint. @@ -1414,7 +1400,7 @@ Yves Lafon (W3C/ERCIM). </p></div><div class="div1"> <h2><a name="refs" id="refs"/>9 References</h2><div class="div2"> -<h3><a name="iddiv2x1x2110" id="iddiv2x1x2110"/>9.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> +<h3><a name="iddiv2x1x2052" id="iddiv2x1x2052"/>9.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite> Key words for use in RFCs to Indicate Requirement Levels </cite></a> , S. Bradner, Author. @@ -1486,7 +1472,7 @@ , A. Berglund, et al., Editors. World Wide Web Consortium (W3C), 23 January 2007. Available at <a href="http://www.w3.org/TR/xpath20/">http://www.w3.org/TR/xpath20/</a>.</dd></dl></div><div class="div2"> -<h3><a name="iddiv2x1x2296" id="iddiv2x1x2296"/>9.2 Informative References</h3><dl><dt class="label"><a name="MEX" id="MEX"/>WS-MetadataExchange</dt><dd><a href="http://www.w3.org/TR/ws-metadata-exchange"><cite> +<h3><a name="iddiv2x1x2238" id="iddiv2x1x2238"/>9.2 Informative References</h3><dl><dt class="label"><a name="MEX" id="MEX"/>WS-MetadataExchange</dt><dd><a href="http://www.w3.org/TR/ws-metadata-exchange"><cite> W3C Working Group Draft, "Web Services Metadata Exchange (WS-MetadataExchange) 1.1" </cite></a> @@ -1629,8 +1615,7 @@ <xs:element name='EnumerateResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:element name='EnumerationContext' type='tns:EnumerationContextType' minOccurs='0' /> @@ -1661,8 +1646,7 @@ <xs:element name='RenewResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:element name='EnumerationContext' type='tns:EnumerationContextType' minOccurs='0' /> @@ -1690,8 +1674,7 @@ <xs:element name='GetStatusResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -1791,9 +1774,13 @@ <xs:anyAttribute namespace="##other" processContents='lax'/> </xs:complexType> </xs:element> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element name='Expires'> <xs:element name='MaxTime' type='tns:Duration' minOccurs='0'/> <xs:element name='MaxElements' type='tns:Long' minOccurs='0'/> <xs:element name='MaxCharacters' type='tns:Long' minOccurs='0'/> @@ -2074,4 +2061,5 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=9717">9717</a></td></tr><tr><td> 2010/05/13 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=9702">9702</a></td></tr><tr><td> 2010/06/29 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=9609">9609</a></td></tr><tr><td> 2010/08/17 </td><td> DD </td><td> Added resolution of issue - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10339">10339</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10339">10339</a></td></tr><tr><td> 2010/11/16 </td><td> DD </td><td> Added resolution of issue + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10960">10960</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file Index: wsenum.xml =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wsenum.xml,v retrieving revision 1.139 retrieving revision 1.140 diff -u -d -r1.139 -r1.140 --- wsenum.xml 12 Oct 2010 16:08:23 -0000 1.139 +++ wsenum.xml 17 Nov 2010 03:53:30 -0000 1.140 @@ -623,21 +623,21 @@ <p> Enumeration expired </p> </item> <item> - <p> - Enumeration ended (i.e. ended via an EnumerationEnd message from - data source) + <p> + Enumeration context replaced in the response to another Enumerate request </p> </item> <item> - <p> - Enumeration context replaced in the response to another Enumerate request + <p> + Enumeration ended (i.e. as indicated via an EnumerationEnd message from + data source) </p> </item> </olist> <p> - In addition, the data source MAY invalidate an - enumeration context at any time, as necessary. + As the last item indicates, the data source MAY invalidate an + enumeration context at any time. </p> <p> @@ -755,15 +755,16 @@ <def> <p> This OPTIONAL element can be used by the consumer to indicate the - expiration time of the requested enumeration. If this element - is not present, the implied default expiration time is indefinite. - A value of PT0S indicates a request for an indefinite expiration time. + expiration time of the requested enumeration. + A value of PT0S indicates a request for an infinite expiration time + (i.e. an enumeration that never expires). </p> <p> - If the data source does not support the wsen:Expires element - being present in a Enumerate request message then a - wsen:ExpiresNotSupported fault MUST be generated. + The absence of the wsen:Expires element indicates that the expiration + value will be chosen by the data source. + This value is communicated via the wsen:GrantedExpires element + (see below). </p> <p> @@ -1085,7 +1086,7 @@ <wsen:EnumerateResponse ...> <wsen:GrantedExpires ...> (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) - </wsen:GrantedExpires> ? + </wsen:GrantedExpires> <wsen:EnumerationContext ...>...</wsen:EnumerationContext> ? <wsen:Items> <xs:any> enumeration-specific element </xs:any> + @@ -1123,11 +1124,8 @@ </p> <p> - If this element does not appear, then the - enumeration will not expire. That is, the enumeration has an - indefinite lifetime. - Likewise, a value of PT0S indicates that the enumeration will - not expire. + A wsen:GrantedExpires value of PT0S indicates that the enumeration will + never expire. It will terminate when the end of the enumeration is reached, or if the consumer sends a Release request, or by the data source at any time for reasons such as connection @@ -1863,38 +1861,6 @@ </s11:Envelope></eg> </example> - <div2 id="ExpiresNotSupported"> - <head>ExpiresNotSupported</head> - - <p> - This fault MUST be generated when a request specified an expiration - but the data source does not support Expires. - </p> - - <table border="1"> - <tbody> - <tr> - <td> <kw>[Code]</kw> </td> - <td> s12:Sender </td> - </tr> - <tr> - <td> <kw>[Subcode]</kw> </td> - <td> wsen:ExpiresNotSupported </td> - </tr> - <tr> - <td> <kw>[Reason]</kw> </td> - <td> - The specification of an Expires element is not allowed. - </td> - </tr> - <tr> - <td> <kw>[Detail]</kw> </td> - <td> </td> - </tr> - </tbody> - </table> - </div2> - <div2 id="UnsupportedExpirationValue"> <head>UnsupportedExpirationValue</head> @@ -2418,18 +2384,17 @@ <example> <eg><wsen:DataSource ...> - <wsen:FilterDialect URI="<emph>xs:anyURI</emph>" ...> - <emph>xs:any</emph>* - </wsen:FilterDialect> * - <wsen:ExpiresSupported .../> ? - <wsen:DateTimeSupported .../> ? - <wsen:MaxExpires ...> <emph>xs:duration</emph> </wsen:MaxExpires> ? - <wsen:MaxTime ...> <emph>xs:duration</emph> </wsen:MaxTime> ? - <wsen:MaxElements ...> <emph>xs:long</emph> </wsen:MaxElements> ? - <wsen:MaxCharacters ...> <emph>xs:long</emph> </wsen:MaxCharacters> ? - <wsen:EndToSupported .../> ? - <wsen:ItemsOnNewContextSupported .../> ? - <emph>xs:any</emph>* + <wsen:FilterDialect URI="<emph>xs:anyURI</emph>" ...> + <emph>xs:any</emph>* + </wsen:FilterDialect> * + <wsen:DateTimeSupported .../> ? + <wsen:Expires min="<emph>xs:duration</emph>"? max="<emph>xs:duration</emph>"? .../> ? + <wsen:MaxTime ...> <emph>xs:duration</emph> </wsen:MaxTime> ? + <wsen:MaxElements ...> <emph>xs:long</emph> </wsen:MaxElements> ? + <wsen:MaxCharacters ...> <emph>xs:long</emph> </wsen:MaxCharacters> ? + <wsen:EndToSupported .../> ? + <wsen:ItemsOnNewContextSupported .../> ? + <emph>xs:any</emph>* </wsen:DataSource></eg> </example> @@ -2475,26 +2440,6 @@ </gitem> <gitem> - <label> /wsen:DataSource/wsen:ExpiresSupported </label> - <def> - <p> - When present, this OPTIONAL parameter indicates support for - Expiration element on the Enumerate and Renew operations. - </p> - </def> - </gitem> - - <gitem> - <label> /wsen:DataSource/wsen:ExpiresSupported </label> - <def> - <p> - When present, this OPTIONAL parameter indicates support for - Expires element on the Enumerate and Renew operations. - </p> - </def> - </gitem> - - <gitem> <label> /wsen:DataSource/wsen:DateTimeSupported </label> <def> <p> @@ -2505,14 +2450,16 @@ </gitem> <gitem> - <label> /wsen:DataSource/wsen:MaxExpires </label> + <label> /wsen:DataSource/wsen:Expires </label> <def> <p> - When present, this OPTIONAL parameter indicates the maximum lifetime - of enumerations that this endpoint will support. - The implied default is indefinite. - Note: a value of "PT0S" indicates that this endpoint supports - enumerations with an infinite lifetime. + When present, this OPTIONAL parameter indicates the minimum and + maximum enumeration expiration times that this endpoint will support. + When the OPTIONAL 'min' attribute is absent then the data source + MUST not impose a lower bound on the accepted Expires values. The + implied default value for the OPTIONAL 'max' attribute is + infinite (or PT0S). In all cases, the 'min' value MUST be less + than or equal to the 'max' value. </p> </def> </gitem> @@ -2941,8 +2888,7 @@ <xs:element name='EnumerateResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:element name='EnumerationContext' type='tns:EnumerationContextType' minOccurs='0' /> @@ -2973,8 +2919,7 @@ <xs:element name='RenewResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:element name='EnumerationContext' type='tns:EnumerationContextType' minOccurs='0' /> @@ -3002,8 +2947,7 @@ <xs:element name='GetStatusResponse'> <xs:complexType> <xs:sequence> - <xs:element name='GrantedExpires' type='tns:MiniExpirationType' - minOccurs='0' /> + <xs:element name='GrantedExpires' type='tns:MiniExpirationType' /> <xs:any namespace='##other' processContents='lax' minOccurs='0' maxOccurs='unbounded' /> </xs:sequence> @@ -3103,9 +3047,13 @@ <xs:anyAttribute namespace="##other" processContents='lax'/> </xs:complexType> </xs:element> - <xs:element name='ExpiresSupported' type='tns:Empty' minOccurs='0'/> <xs:element name='DateTimeSupported' type='tns:Empty' minOccurs='0'/> - <xs:element name='MaxExpires' type='tns:Duration' minOccurs='0'/> + <xs:element name='Expires' minOccurs='0'> + <xs:complexType> + <xs:attribute name='min' type='xs:duration' use='optional'/> + <xs:attribute name='max' type='xs:duration' use='optional'/> + </xs:complexType> + </xs:element name='Expires'> <xs:element name='MaxTime' type='tns:Duration' minOccurs='0'/> <xs:element name='MaxElements' type='tns:Long' minOccurs='0'/> <xs:element name='MaxCharacters' type='tns:Long' minOccurs='0'/> @@ -3997,6 +3945,13 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10339">10339</loc> </td> </tr> + <tr> + <td> 2010/11/16 </td> + <td> DD </td> + <td> Added resolution of issue + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=10960">10960</loc> + </td> + </tr> </tbody> </table> </div1>
Received on Wednesday, 17 November 2010 03:53:38 UTC