- From: Gilbert Pilz <gilbert.pilz@oracle.com>
- Date: Mon, 28 Sep 2009 15:56:11 +0100
- To: Asir Vedamuthu <asirveda@microsoft.com>
- CC: "public-ws-resource-access@w3.org" <public-ws-resource-access@w3.org>
- Message-ID: <4AC0CE8B.1010108@oracle.com>
The interop issue doesn't have anything to do with the schema for ExpirationType, it concerns the text in the specification. WS-Enumeration says: 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. This leads to the following questions: 1. How does a data consumer know whether or not a data source can accept an xs:dateTime? Is it expected to try an xs:dateTime, handle the fault, then try "an equivalent" xs:duration? If so, isn't this rather inefficient? 2. The spec implies but doesn't state that all data sources MUST support an xs:duration and some data sources MAY additionally support an xs:dateTime. Given this lack of clarity it seems inevitable that some implementations of the consumer will support only xs:dateTime and be unable to interoperate with sources that support only xs:duration. There's another issue that affects the use of xs:dateTime that I call the "visibility of expiration inaccuracy issue". Whether it uses xs:duration or xs:dateTime, the consumer can never know exactly when the enumeration will expire because, in the case of xs:duration, it doesn't know when "the clock started ticking" whereas, in the case of xs:dateTime, it doesn't know what differences there may be between its clock and the clock of the data source. However, in the case of xs:duration, the arrival of the wsen:EnumerateResponse message provides some feedback on when the expiration clock started ticking. The consumer knows that the duration began some time after it sent the wsen:Enumerate message and some time before it received the wsen:EnumerateResponse message (we may need to add text to clarify this). Although there could be a large window of time between these two events, the consumer at least knows what the time window is. Such is not the case with xs:dateTime; the clocks of the consumer and the source may disagree by some arbitrary amount and there is nothing in the WS-Enumeration protocol that serves to inform the consumer what that amount might be. - gp On 9/27/2009 7:35 AM, Asir Vedamuthu wrote: > To better address the concern quoted in issue 7586, may we request a discussion of the underlying interop issue? What is the interop issue? > > For convenience, here is the Expires tag element declaration: > > <xs:element name="Expires" type="tns:ExpirationType" .../> > > <xs:simpleType name="ExpirationType"> > <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /> > </xs:simpleType> > > <xs:simpleType name="NonNegativeDurationType"> > <xs:restriction base="xs:duration"> > <xs:minInclusive value="P0Y0M0DT0H0M0S" /> > </xs:restriction> > </xs:simpleType> > > Same question applies to issue 7588. > > Regards, > > Asir S Vedamuthu > Microsoft Corporation > > -----Original Message----- > From: public-ws-resource-access-notifications-request@w3.org [mailto:public-ws-resource-access-notifications-request@w3.org] On Behalf Of bugzilla@wiggum.w3.org > Sent: Friday, September 11, 2009 5:03 PM > To: public-ws-resource-access-notifications@w3.org > Subject: [Bug 7586] New: wse:Expires multiple data types creates interop issue > > http://www.w3.org/Bugs/Public/show_bug.cgi?id=7586 > > Summary: wse:Expires multiple data types creates interop issue > Product: WS-Resource Access > Version: PR > Platform: All > OS/Version: All > Status: NEW > Severity: normal > Priority: P2 > Component: Eventing > AssignedTo: public-ws-resource-access-notifications@w3.org > ReportedBy: gilbert.pilz@oracle.com > QAContact: public-ws-resource-access-notifications@w3.org > > > 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. > > >
Received on Monday, 28 September 2009 14:57:03 UTC