Bug 7586 - Eventing: Expires multiple data types creates interop issue
: Eventing: Expires multiple data types creates interop issue
Status: CLOSED REMIND
Product: WS-Resource Access
Eventing
: FPWD
: All All
: P2 normal
: ---
Assigned To: Gilbert Pilz
: notifications mailing list for WS Resource Access
:
:
: hasProposal
:
:
  Show dependency treegraph
 
Reported: 2009-09-12 00:03 UTC by Gilbert Pilz
Modified: 2009-12-08 22:11 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 S Vedamuthu 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 


  翻译: