This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 7586 - Eventing: Expires multiple data types creates interop issue
Summary: Eventing: Expires multiple data types creates interop issue
Status: CLOSED REMIND
Alias: None
Product: WS-Resource Access
Classification: Unclassified
Component: Eventing (show other bugs)
Version: FPWD
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Gilbert Pilz
QA Contact: notifications mailing list for WS Resource Access
URL:
Whiteboard:
Keywords: hasProposal
Depends on:
Blocks:
 
Reported: 2009-09-12 00:03 UTC by Gilbert Pilz
Modified: 2009-12-08 22:11 UTC (History)
4 users (show)

See Also:


Attachments

Description Gilbert Pilz 2009-09-12 00:03:28 UTC
WS-Eventing allows the Subscriber to use either an xs:duration or an xs:dateTime for the /wse:Subscribe/wse:Expires value. However, it also allows Event Sources to fault on the use of xs:dateTime. It hints, but doesn't directly say, that all Event Sources MUST support xs:duration, but some Event Sources MAY also support xs:dateTime.

Note: a proposal for this already exists in the proposal for 7478. In hindsight I realize I should have opened this issue first and addressed it separately.
Comment 2 David Snelling 2009-10-02 11:07:58 UTC
[Action]
  http://www.w3.org/2009/09/ws-evt/Subscribe

[Body]
  <wse:Subscribe ...>
    <wse:EndTo> endpoint-reference </wse:EndTo> ?
    <wse:Delivery ...> xs:any* </wse:Delivery>
    <wse:Format Name="xs:anyURI"? > xs:any* </wse:Format> ?
    <wse:Expires Minimum="(xs:dateTime | xs:duration)"? Maximum="(xs:dateTime | xs:duration)"?>
        (xs:dateTime | xs:duration)
    </wse:Expires> ?
    <wse:Filter Dialect="xs:anyURI"? ...> xs:any* </wse:Filter> ?
    xs:any*
  </wse:Subscribe>

The Following replaces [Body]/wse:Subscribe/wse:Expires and the paragraphs following.

[Body] /wse:Subscribe/wse:Expires

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 value of this element MUST be between the values of the @Minimum and @Maximum attribute values inclusive.

If the wse:Expires element is present and the event source is not able to grant an expiry time within range indicated by the @Minimum and @Maximum attribute values, it MUST generate a wse:ExpirationTimeExceeded fault. 

If the wse:Expires element in not present and the event source is not able to grant an indefinite subscription, it MUST generate a wse:ExpirationTimeExceeded fault.

[Body] /wse:Subscribe/wse:Expires@min

The implied default is zero. This specifies the minimum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@max

The implied default is infinite (no expiry). This specifies the maximum expiration time that the event subscriber is willing to accept.

Examples for information only:

Exact:
   <Expires @min=1h @max=1h> 1h </Expires> 

Hint:
   <Expires> 1h </Expires> 

Range:
   <Expires @min=30m @max=2h> 1h </Expires> 

Indefinite:
   Element not present.

Any:
   <Expires/>

 
Comment 3 David Snelling 2009-10-02 13:21:58 UTC
[Action]
  http://www.w3.org/2009/09/ws-evt/Subscribe

[Body]
  <wse:Subscribe ...>
    <wse:EndTo> endpoint-reference </wse:EndTo> ?
    <wse:Delivery ...> xs:any* </wse:Delivery>
    <wse:Format Name="xs:anyURI"? > xs:any* </wse:Format> ?
    <wse:Expires min="(xs:dateTime | xs:duration)"? max="(xs:dateTime | xs:duration)"? exact="xs:boolean"?>
        (xs:dateTime | xs:duration) 
    </wse:Expires> ?
    <wse:Filter Dialect="xs:anyURI"? ...> xs:any* </wse:Filter> ?
    xs:any*
  </wse:Subscribe>

The Following replaces [Body]/wse:Subscribe/wse:Expires and the paragraphs following.

[Body] /wse:Subscribe/wse:Expires

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 value of this element MUST be between the values of the @min and @max attribute values inclusive. If the request is malformed in this way the event source MUST generate a wse:InvalidExpirationTime fault.

If the wse: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 wse:ExpirationTimeExceeded fault. 

If the wse:Expires element in not present and the event source is not able to grant an indefinite subscription, it MUST generate a wse:ExpirationTimeExceeded fault.

[Body] /wse:Subscribe/wse:Expires@min

The implied default is zero. This specifies the minimum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@max

The implied default is indefinite (no expiry). This specifies the maximum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@exact

The default value is "false". If this attribute value is "true" both @min and @max have the same value as the wse:Expires element, which MUST be present, and the @min and @max attributes MUST be ignored.
Comment 4 David Snelling 2009-10-02 13:52:23 UTC
[Action]
  http://www.w3.org/2009/09/ws-evt/Subscribe

[Body]
  <wse:Subscribe ...>
    <wse:EndTo> endpoint-reference </wse:EndTo> ?
    <wse:Delivery ...> xs:any* </wse:Delivery>
    <wse:Format Name="xs:anyURI"? > xs:any* </wse:Format> ?
    <wse:Expires min="(xs:dateTime | xs:duration)"? max="(xs:dateTime | xs:duration)"? exact="xs:boolean"?>
        (xs:dateTime | xs:duration) 
    </wse:Expires> ?
    <wse:Filter Dialect="xs:anyURI"? ...> xs:any* </wse:Filter> ?
    xs:any*
  </wse:Subscribe>

The Following replaces [Body]/wse:Subscribe/wse:Expires and the paragraphs following.

[Body] /wse:Subscribe/wse:Expires

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 attribute values inclusive. If the request is malformed in this way the event source MUST generate a wse:InvalidExpirationTime fault.

If the wse: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 wse:ExpirationTimeExceeded fault. 

[Body] /wse:Subscribe/wse:Expires@min

The implied default is zero. This specifies the minimum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@max

The implied default is indefinite (no expiry). This specifies the maximum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@exact

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 wse:Expires element.


Need a new response type wse:GrantedExpires

    <wse:GrantedExpires>
        (xs:dateTime | xs:duration) 
    </wse:GrantedExpires> ?

The value of this element indicates the expiration time (or duration) granted by the event source. If this element is missing the granted repiration time is indefinite.
Comment 5 David Snelling 2009-10-02 14:05:00 UTC
[Action]
  http://www.w3.org/2009/09/ws-evt/Subscribe

[Body]
  <wse:Subscribe ...>
    <wse:EndTo> endpoint-reference </wse:EndTo> ?
    <wse:Delivery ...> xs:any* </wse:Delivery>
    <wse:Format Name="xs:anyURI"? > xs:any* </wse:Format> ?
    <wse:Expires min="(xs:dateTime | xs:duration)"? max="(xs:dateTime | xs:duration)"? exact="xs:boolean"?>
        (xs:dateTime | xs:duration) 
    </wse:Expires> ?
    <wse:Filter Dialect="xs:anyURI"? ...> xs:any* </wse:Filter> ?
    xs:any*
  </wse:Subscribe>

The Following replaces [Body]/wse:Subscribe/wse:Expires and the paragraphs following.

[Body] /wse:Subscribe/wse:Expires

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 wse:InvalidExpirationTime fault.

If the wse: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 wse:ExpirationTimeExceeded fault. 

[Body] /wse:Subscribe/wse:Expires@min

The implied default is PT0S. This specifies the minimum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@max

The implied default is indefinite (no expiry). This specifies the maximum expiration time that the event subscriber is willing to accept.

[Body] /wse:Subscribe/wse:Expires@exact

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 wse:Expires element.


Need a new response type wse:GrantedExpires

    <wse:GrantedExpires>
        (xs:dateTime | xs:duration) 
    </wse:GrantedExpires> ?

The value of this element indicates the expiration time (or duration) granted by the event source. If this element is missing the granted expiration time is indefinite.
Comment 6 Robert Freund 2009-10-02 14:07:39 UTC
resolved with comment #5
also apply to renew
Comment 7 Asir V Selvasingh 2009-10-02 15:16:43 UTC
See Hursley F2F discussion http://www.w3.org/2002/ws/ra/9/10/2009-10-01.html#item04 and the associated action - http://www.w3.org/2002/ws/ra/tracker/actions/113
Comment 8 Robert Freund 2009-10-04 08:27:53 UTC
Inadvertently closed