- From: Doug Davis via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 06 Oct 2009 16:40:22 +0000
- To: public-ws-resource-access-notifications@w3.org
Update of /w3ccvs/WWW/2002/ws/ra/edcopies In directory hutz:/tmp/cvs-serv14876 Modified Files: wsenum.html wsenum.xml Log Message: 7587 Index: wsenum.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wsenum.html,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- wsenum.html 6 Oct 2009 12:29:42 -0000 1.70 +++ wsenum.html 6 Oct 2009 16:40:20 -0000 1.71 @@ -57,21 +57,22 @@ 3.6 <a href="#EnumerationEnd">EnumerationEnd</a><br/> 4 <a href="#Faults">Faults</a><br/> 4.1 <a href="#InvalidExpirationTime">InvalidExpirationTime</a><br/> - 4.2 <a href="#UnsupportedExpirationTime">UnsupportedExpirationTime</a><br/> - 4.3 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> - 4.4 <a href="#FilterDialectRequestedUnavailable">FilterDialectRequestedUnavailable</a><br/> - 4.5 <a href="#CannotProcessFilter">CannotProcessFilter</a><br/> - 4.6 <a href="#InvalidEnumerationContext">InvalidEnumerationContext</a><br/> - 4.7 <a href="#TimedOut">TimedOut</a><br/> - 4.8 <a href="#UnableToRenew">UnableToRenew</a><br/> - 4.9 <a href="#UnusableEPR">UnusableEPR</a><br/> + 4.2 <a href="#ExpirationTimeExceeded">ExpirationTimeExceeded</a><br/> + 4.3 <a href="#UnsupportedExpirationTime">UnsupportedExpirationTime</a><br/> + 4.4 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/> + 4.5 <a href="#FilterDialectRequestedUnavailable">FilterDialectRequestedUnavailable</a><br/> + 4.6 <a href="#CannotProcessFilter">CannotProcessFilter</a><br/> + 4.7 <a href="#InvalidEnumerationContext">InvalidEnumerationContext</a><br/> + 4.8 <a href="#TimedOut">TimedOut</a><br/> + 4.9 <a href="#UnableToRenew">UnableToRenew</a><br/> + 4.10 <a href="#UnusableEPR">UnusableEPR</a><br/> 5 <a href="#Security">Security Considerations</a><br/> 6 <a href="#metadata">WS-Enumeration Metadata</a><br/> - 6.1 <a href="#iddiv2_1_1895">Enumeration Assertion</a><br/> + 6.1 <a href="#iddiv2_1_1996">Enumeration Assertion</a><br/> 7 <a href="#acks">Acknowledgements</a><br/> 8 <a href="#refs">References</a><br/> - 8.1 <a href="#iddiv2_1_1984">Normative References</a><br/> - 8.2 <a href="#iddiv2_1_2170">Informative References</a><br/> + 8.1 <a href="#iddiv2_1_2085">Normative References</a><br/> + 8.2 <a href="#iddiv2_1_2271">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/> @@ -359,7 +360,11 @@ <b>[Body]</b> <wsen:Enumerate ...> <wsen:EndTo><em>endpoint-reference</em></wsen:EndTo> ? - <wsen:Expires>(<em>xs:dateTime</em> | <em>xs:duration</em>)</wsen:Expires> ? + <wsen:Expires min="(<em>xs:dateTime</em> | <em>xs:duration</em>)"? + max="(<em>xs:dateTime</em> | <em>xs:duration</em>)"? + exact="<em>xs:boolean</em>"? ...> + (<em>xs:dateTime</em> | <em>xs:duration</em>) + </wsen:Expires> ? <wsen:Filter Dialect="<em>xs:anyURI</em>"?> <em>xs:any</em> </wsen:Filter> ? <em>xs:any</em>* </wsen:Enumerate></pre></div></div><p> @@ -375,36 +380,29 @@ message. The endpoint to which the EndTo EPR refers MUST support the EnumerationEndPortType portType. </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:Expires </dt><dd><p> - Requested expiration time for the - enumeration. (No implied value.) The data source defines the actual - expiration and is not constrained to use a time less or greater - than the requested expiration. The expiration time MAY be a - specific time or a duration from the enumeration's creation time. - Both specific times and durations are interpreted based on the data - source's clock. - </p><p> - If this element does not appear, then the - request is for an enumeration that will not expire. That is, the - consumer is requesting the data source to create an enumeration - with an indefinite lifetime. If the data source grants such an - enumeration, 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 termination, - resource constraints, or system shut-down. - </p><p> - If the expiration time is either a zero - duration or a specific time that occurs in the past according to - the data source, then the request MUST fail, and the data source - MUST generate a wsen:InvalidExpirationTime fault indicating that an - invalid expiration time was requested. + This OPTIONAL element can be used by the Subscriber to indicate the + expiration time of the requested Subscription. The value of this + element indicates the desired expiration time for the subscription. + The implied default is indefinite (no expiry). The value of this + element MUST be between the values of the @min and @max attributes + inclusive. If the request is malformed, the event source + MUST generate a wsen:InvalidExpirationTime fault. </p><p> - Some data sources might not have a "wall time" - clock available, and so are able only to accept durations as - expirations. If such a source receives an Enumerate request - containing a specific time expiration, then the request MUST fail; - if so, the data source SHOULD generate a - wsen:UnsupportedExpirationTime fault indicating that an - unsupported expiration type was requested. + If the wsen:Expires element is present and the event source is not + able to grant an expiry time within range indicated by the @min and + @max attribute values, it MUST generate a + wsen:ExpirationTimeExceeded fault. + </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:Expires@min </dt><dd><p> + The implied default is PT0S. This specifies the minimum expiration + time that the event subscriber is willing to accept. + </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:Expires@max </dt><dd><p> + The implied default is indefinite (no expiry). This specifies the + maximum expiration time that the event subscriber is willing to accept. + </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:Expires@exact </dt><dd><p> + The default value is "false" in which case this attribute has no + effect. If this attribute value is "true" both @min and @max + attributes MUST be ignored and are treated as if they had the same + value as the wsen:Expires element. </p></dd><dt class="label"><b>[Body]</b>/wsen:Enumerate/wsen:Filter </dt><dd><p> This optional element contains a Boolean predicate in some dialect (see <b>[<a href="#Dialect">[Body]/wsen:Enumerate/wsen:Filter/@Dialect </a>]</b>) @@ -483,13 +481,19 @@ <b>[Body]</b> <wsen:EnumerateResponse ...> - <wsen:Expires>(<em>xs:dateTime</em> | <em>xs:duration</em>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<em>xs:dateTime</em> | <em>xs:duration</em>) + </wsen:GrantedExpires> ? <wsen:EnumerationContext>...</wsen:EnumerationContext> <em>xs:any</em>* </wsen:EnumerateResponse></pre></div></div><p> The following describes additional, normative constraints on the outline listed above: - </p><dl><dt class="label"><b>[Body]</b>/wsen:EnumerateResponse/wsen:Expires </dt><dd><p> + </p><dl><dt class="label"><b>[Body]</b>/wsen:EnumerateResponse/wsen:GrantedExpires </dt><dd><p> + The value of this OPTIONAL element indicates the expiration time (or + duration) granted by the event source. If this element is missing the + granted expiration time is indefinite. + </p><p> The expiration time assigned by the data source. The expiration time MAY be either an absolute time or a duration but SHOULD be of the same type as the requested expiration @@ -819,7 +823,11 @@ <b>[Body]</b> <wsen:Renew ...> <wsen:EnumerationContext>...</wsen:EnumerationContext> - <wsen:Expires>(<em>xs:dateTime</em> | <em>xs:duration</em>)</wsen:Expires> ? + <wsen:Expires min="(<em>xs:dateTime</em> | <em>xs:duration</em>)"? + max="(<em>xs:dateTime</em> | <em>xs:duration</em>)"? + exact="<em>xs:boolean</em>"? ...> + (<em>xs:dateTime</em> | <em>xs:duration</em>) + </wsen:Expires> ? <em>xs:any</em>* </wsen:Renew></pre></div></div><p> Components of the outline listed above are @@ -850,14 +858,16 @@ <b>[Body]</b> <wsen:RenewResponse ...> - <wsen:Expires>(<em>xs:dateTime</em> | <em>xs:duration</em>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<em>xs:dateTime</em> | <em>xs:duration</em>) + </wsen:GrantedExpires> ? <wsen:EnumerationContext>...</wsen:EnumerationContext> ? <em>xs:any</em>* </wsen:RenewResponse></pre></div></div><p> Components of the outline listed above are constrained as for a response to an Enumerate request (see <a href="#Enumerate"><b>3.1 Enumerate</b></a>) with the following addition: - </p><dl><dt class="label"><b>[Body]</b>/wsen:RenewResponse/wsen:Expires </dt><dd><p> + </p><dl><dt class="label"><b>[Body]</b>/wsen:RenewResponse/wsen:GrantedExpires </dt><dd><p> If the requested expiration is a duration, then the implied start of that duration is the time when the data source starts processing the Renew request. @@ -898,7 +908,9 @@ <b>[Body]</b> <wsen:GetStatusResponse ...> - <wsen:Expires>(<em>xs:dateTime</em> | <em>xs:duration</em>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<em>xs:dateTime</em> | <em>xs:duration</em>) + </wsen:GrantedExpires> ? <em>xs:any</em>* </wsen:GetStatusResponse></pre></div></div><p> Components of the outline listed above are @@ -1089,25 +1101,30 @@ </s11:Body> </s11:Envelope></pre></div></div><div class="div2"> <h3><a name="InvalidExpirationTime" id="InvalidExpirationTime"/>4.1 InvalidExpirationTime</h3><p> - This fault is generated if the Enumerate expiration time is either a - zero duration or a specific time that occurs in the past according to - the data source. + This fault is generated when a request specifies an + expiration that is malformed. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Sender </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:InvalidExpirationTime </td></tr><tr><td><b>[Reason]</b></td><td> Invalid expiration time. </td></tr><tr><td><b>[Detail]</b></td><td/></tr></tbody></table></div><div class="div2"> -<h3><a name="UnsupportedExpirationTime" id="UnsupportedExpirationTime"/>4.2 UnsupportedExpirationTime</h3><p> +<h3><a name="ExpirationTimeExceeded" id="ExpirationTimeExceeded"/>4.2 ExpirationTimeExceeded</h3><p> + This fault is 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:ExpirationTimeExceeded </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/></tr></tbody></table></div><div class="div2"> +<h3><a name="UnsupportedExpirationTime" id="UnsupportedExpirationTime"/>4.3 UnsupportedExpirationTime</h3><p> This fault is generated if the Enumerate expiration time is specified not as 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/></tr></tbody></table></div><div class="div2"> -<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>4.3 FilteringNotSupported</h3><p> +<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>4.4 FilteringNotSupported</h3><p> This fault is generated if 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/></tr></tbody></table></div><div class="div2"> -<h3><a name="FilterDialectRequestedUnavailable" id="FilterDialectRequestedUnavailable"/>4.4 FilterDialectRequestedUnavailable</h3><p> +<h3><a name="FilterDialectRequestedUnavailable" id="FilterDialectRequestedUnavailable"/>4.5 FilterDialectRequestedUnavailable</h3><p> This fault is generated if 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> @@ -1116,13 +1133,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"/>4.5 CannotProcessFilter</h3><p> +<h3><a name="CannotProcessFilter" id="CannotProcessFilter"/>4.6 CannotProcessFilter</h3><p> This fault is generated if 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/></tr></tbody></table></div><div class="div2"> -<h3><a name="InvalidEnumerationContext" id="InvalidEnumerationContext"/>4.6 InvalidEnumerationContext</h3><p> +<h3><a name="InvalidEnumerationContext" id="InvalidEnumerationContext"/>4.7 InvalidEnumerationContext</h3><p> This fault is generated if 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 @@ -1131,11 +1148,11 @@ <em> if no additional information is available. </em></td></tr><tr><td><b>[Detail]</b></td><td/></tr></tbody></table></div><div class="div2"> -<h3><a name="TimedOut" id="TimedOut"/>4.7 TimedOut</h3><p> +<h3><a name="TimedOut" id="TimedOut"/>4.8 TimedOut</h3><p> This fault is generated if the data source times out is 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/></tr></tbody></table></div><div class="div2"> -<h3><a name="UnableToRenew" id="UnableToRenew"/>4.8 UnableToRenew</h3><p> +<h3><a name="UnableToRenew" id="UnableToRenew"/>4.9 UnableToRenew</h3><p> This fault is generated if the data source is unable to renew the enumeration. </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td> s12:Receiver </td></tr><tr><td><b>[Subcode]</b></td><td> wsen:UnableToRenew </td></tr><tr><td><b>[Reason]</b></td><td><em> @@ -1145,7 +1162,7 @@ <em> if no additional information is available. </em></td></tr><tr><td><b>[Detail]</b></td><td/></tr></tbody></table></div><div class="div2"> -<h3><a name="UnusableEPR" id="UnusableEPR"/>4.9 UnusableEPR</h3><p> +<h3><a name="UnusableEPR" id="UnusableEPR"/>4.10 UnusableEPR</h3><p> This fault MAY 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><div class="div1"> @@ -1259,7 +1276,7 @@ indicate a particular security mechanism used to protect the WS-Enumeration operations supported by this endpoint. </p><div class="div2"> -<h3><a name="iddiv2_1_1895" id="iddiv2_1_1895"/>6.1 Enumeration Assertion</h3><p> +<h3><a name="iddiv2_1_1996" id="iddiv2_1_1996"/>6.1 Enumeration Assertion</h3><p> The mechanism for indicating that a binding or endpoint conforms to the WS-Enumeration specification is through the use of the Web Services Policy - Framework <a href="#wspolicy">[WS-Policy]</a> and Web Services Policy - @@ -1348,7 +1365,7 @@ Yves Lafon (W3C). </p></div><div class="div1"> <h2><a name="refs" id="refs"/>8 References</h2><div class="div2"> -<h3><a name="iddiv2_1_1984" id="iddiv2_1_1984"/>8.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="iddiv2_1_2085" id="iddiv2_1_2085"/>8.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. @@ -1420,7 +1437,7 @@ , J. Clark, S. DeRose, Editors. World Wide Web Consortium (W3C), 16 November 1999. Available at <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>.</dd></dl></div><div class="div2"> -<h3><a name="iddiv2_1_2170" id="iddiv2_1_2170"/>8.2 Informative References</h3><dl><dt class="label"><a name="WSSecureConversation" id="WSSecureConversation"/>WS-SecureConversation</dt><dd><a href="http://docs.oasis-open.org/ws-sx/ws-secureconversation/v1.4/os/ws-secureconversation-1.4-spec-os.doc"><cite> +<h3><a name="iddiv2_1_2271" id="iddiv2_1_2271"/>8.2 Informative References</h3><dl><dt class="label"><a name="WSSecureConversation" id="WSSecureConversation"/>WS-SecureConversation</dt><dd><a href="http://docs.oasis-open.org/ws-sx/ws-secureconversation/v1.4/os/ws-secureconversation-1.4-spec-os.doc"><cite> OASIS Standard, "Web Services Secure Conversation (WS-SecureConversation) 1.4" </cite></a> @@ -1484,10 +1501,28 @@ </xs:restriction> </xs:simpleType> - <xs:simpleType name="ExpirationType"> - <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /> + <simpleType name="DurationDateTime"> + <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /> </xs:simpleType> + <xs:complexType name="MiniExpirationType"> + <xs:simpleContent> + <xs:extension base="tns:DurationDateTime"> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="ExpirationType"> + <xs:simpleContent> + <xs:extension base="tns:MiniExpirationType"> + <xs:attribute name="min" type="tns:DurationDateTime" use="optional"/> + <xs:attribute name="max" type="tns:DurationDateTime" use="optional"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="EnumerationContextType"> <xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> @@ -1540,7 +1575,7 @@ <xs:element name="EnumerateResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrantedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:element name="EnumerationContext" type="tns:EnumerationContextType" /> @@ -1604,7 +1639,7 @@ <xs:element name="RenewResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrnatedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:element name="EnumerationContext" type="tns:EnumerationContextType" @@ -1633,7 +1668,7 @@ <xs:element name="GetStatusResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrantedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> @@ -1892,4 +1927,5 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7716">7716</a></td></tr><tr><td> 2009/10/02 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7426">7426</a></td></tr><tr><td> 2009/10/05 </td><td> DD </td><td> Added resolution of issues <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6403">6403</a>, - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6721">6721</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=6721">6721</a></td></tr><tr><td> 2009/10/06 </td><td> DD </td><td> Added resolution of issue + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7587">7587</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.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- wsenum.xml 6 Oct 2009 12:29:42 -0000 1.63 +++ wsenum.xml 6 Oct 2009 16:40:20 -0000 1.64 @@ -612,7 +612,11 @@ <kw>[Body]</kw> <wsen:Enumerate ...> <wsen:EndTo><emph>endpoint-reference</emph></wsen:EndTo> ? - <wsen:Expires>(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)</wsen:Expires> ? + <wsen:Expires min="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"? + max="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"? + exact="<emph>xs:boolean</emph>"? ...> + (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) + </wsen:Expires> ? <wsen:Filter Dialect="<emph>xs:anyURI</emph>"?> <emph>xs:any</emph> </wsen:Filter> ? <emph>xs:any</emph>* </wsen:Enumerate></eg> @@ -644,46 +648,58 @@ <label> <kw>[Body]</kw>/wsen:Enumerate/wsen:Expires </label> <def> <p> - Requested expiration time for the - enumeration. (No implied value.) The data source defines the actual - expiration and is not constrained to use a time less or greater - than the requested expiration. The expiration time MAY be a - specific time or a duration from the enumeration's creation time. - Both specific times and durations are interpreted based on the data - source's clock. + This OPTIONAL element can be used by the Subscriber to indicate the + expiration time of the requested Subscription. The value of this + element indicates the desired expiration time for the subscription. + The implied default is indefinite (no expiry). The value of this + element MUST be between the values of the @min and @max attributes + inclusive. If the request is malformed, the event source + MUST generate a wsen:InvalidExpirationTime fault. </p> + <p> - If this element does not appear, then the - request is for an enumeration that will not expire. That is, the - consumer is requesting the data source to create an enumeration - with an indefinite lifetime. If the data source grants such an - enumeration, 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 termination, - resource constraints, or system shut-down. + If the wsen:Expires element is present and the event source is not + able to grant an expiry time within range indicated by the @min and + @max attribute values, it MUST generate a + wsen:ExpirationTimeExceeded fault. </p> + + </def> + </gitem> + + <gitem> + <label> <kw>[Body]</kw>/wsen:Enumerate/wsen:Expires@min </label> + <def> <p> - If the expiration time is either a zero - duration or a specific time that occurs in the past according to - the data source, then the request MUST fail, and the data source - MUST generate a wsen:InvalidExpirationTime fault indicating that an - invalid expiration time was requested. + The implied default is PT0S. This specifies the minimum expiration + time that the event subscriber is willing to accept. </p> - + </def> + </gitem> + + <gitem> + <label> <kw>[Body]</kw>/wsen:Enumerate/wsen:Expires@max </label> + <def> <p> - Some data sources might not have a "wall time" - clock available, and so are able only to accept durations as - expirations. If such a source receives an Enumerate request - containing a specific time expiration, then the request MUST fail; - if so, the data source SHOULD generate a - wsen:UnsupportedExpirationTime fault indicating that an - unsupported expiration type was requested. + The implied default is indefinite (no expiry). This specifies the + maximum expiration time that the event subscriber is willing to accept. </p> - </def> </gitem> <gitem> + <label> <kw>[Body]</kw>/wsen:Enumerate/wsen:Expires@exact </label> + <def> + <p> + The default value is "false" in which case this attribute has no + effect. If this attribute value is "true" both @min and @max + attributes MUST be ignored and are treated as if they had the same + value as the wsen:Expires element. + </p> + </def> + </gitem> + + <gitem> <label> <kw>[Body]</kw>/wsen:Enumerate/wsen:Filter </label> <def> <p> @@ -821,7 +837,9 @@ <kw>[Body]</kw> <wsen:EnumerateResponse ...> - <wsen:Expires>(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) + </wsen:GrantedExpires> ? <wsen:EnumerationContext>...</wsen:EnumerationContext> <emph>xs:any</emph>* </wsen:EnumerateResponse></eg> @@ -834,9 +852,14 @@ <glist> <gitem> - <label> <kw>[Body]</kw>/wsen:EnumerateResponse/wsen:Expires </label> + <label> <kw>[Body]</kw>/wsen:EnumerateResponse/wsen:GrantedExpires </label> <def> <p> + The value of this OPTIONAL element indicates the expiration time (or + duration) granted by the event source. If this element is missing the + granted expiration time is indefinite. + </p> + <p> The expiration time assigned by the data source. The expiration time MAY be either an absolute time or a duration but SHOULD be of the same type as the requested expiration @@ -1334,7 +1357,11 @@ <kw>[Body]</kw> <wsen:Renew ...> <wsen:EnumerationContext>...</wsen:EnumerationContext> - <wsen:Expires>(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)</wsen:Expires> ? + <wsen:Expires min="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"? + max="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"? + exact="<emph>xs:boolean</emph>"? ...> + (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) + </wsen:Expires> ? <emph>xs:any</emph>* </wsen:Renew></eg> </example> @@ -1386,7 +1413,9 @@ <kw>[Body]</kw> <wsen:RenewResponse ...> - <wsen:Expires>(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) + </wsen:GrantedExpires> ? <wsen:EnumerationContext>...</wsen:EnumerationContext> ? <emph>xs:any</emph>* </wsen:RenewResponse></eg> @@ -1400,7 +1429,7 @@ <glist> <gitem> - <label> <kw>[Body]</kw>/wsen:RenewResponse/wsen:Expires </label> + <label> <kw>[Body]</kw>/wsen:RenewResponse/wsen:GrantedExpires </label> <def> <p> If the requested expiration is a duration, @@ -1474,7 +1503,9 @@ <kw>[Body]</kw> <wsen:GetStatusResponse ...> - <wsen:Expires>(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)</wsen:Expires> ? + <wsen:GrantedExpires> + (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) + </wsen:GrantedExpires> ? <emph>xs:any</emph>* </wsen:GetStatusResponse></eg> </example> @@ -1817,9 +1848,8 @@ <head>InvalidExpirationTime</head> <p> - This fault is generated if the Enumerate expiration time is either a - zero duration or a specific time that occurs in the past according to - the data source. + This fault is generated when a request specifies an + expiration that is malformed. </p> <table border="1"> @@ -1846,6 +1876,38 @@ </table> </div2> + <div2 id="ExpirationTimeExceeded"> + <head>ExpirationTimeExceeded</head> + + <p> + This fault is generated when a request specifies an + expiration that is not within the min/max range. + </p> + + <table border="1"> + <tbody> + <tr> + <td> <kw>[Code]</kw> </td> + <td> s12:Sender </td> + </tr> + <tr> + <td> <kw>[Subcode]</kw> </td> + <td> wsen:ExpirationTimeExceeded </td> + </tr> + <tr> + <td> <kw>[Reason]</kw> </td> + <td> + The expiration time requested is not within the min/max range. + </td> + </tr> + <tr> + <td> <kw>[Detail]</kw> </td> + <td> </td> + </tr> + </tbody> + </table> + </div2> + <div2 id="UnsupportedExpirationTime"> <head>UnsupportedExpirationTime</head> @@ -2707,10 +2769,28 @@ </xs:restriction> </xs:simpleType> - <xs:simpleType name="ExpirationType"> - <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /> + <simpleType name="DurationDateTime"> + <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /> </xs:simpleType> + <xs:complexType name="MiniExpirationType"> + <xs:simpleContent> + <xs:extension base="tns:DurationDateTime"> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="ExpirationType"> + <xs:simpleContent> + <xs:extension base="tns:MiniExpirationType"> + <xs:attribute name="min" type="tns:DurationDateTime" use="optional"/> + <xs:attribute name="max" type="tns:DurationDateTime" use="optional"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="EnumerationContextType"> <xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> @@ -2763,7 +2843,7 @@ <xs:element name="EnumerateResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrantedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:element name="EnumerationContext" type="tns:EnumerationContextType" /> @@ -2827,7 +2907,7 @@ <xs:element name="RenewResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrnatedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:element name="EnumerationContext" type="tns:EnumerationContextType" @@ -2856,7 +2936,7 @@ <xs:element name="GetStatusResponse"> <xs:complexType> <xs:sequence> - <xs:element name="Expires" type="tns:ExpirationType" + <xs:element name="GrantedExpires" type="tns:MiniExpirationType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> @@ -3373,6 +3453,13 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6721">6721</loc> </td> </tr> + <tr> + <td> 2009/10/06 </td> + <td> DD </td> + <td> Added resolution of issue + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7587">7587</loc> + </td> + </tr> </tbody> </table> </div1>
Received on Tuesday, 6 October 2009 16:40:25 UTC