- From: Asir Vedamuthu <asirveda@microsoft.com>
- Date: Tue, 29 Sep 2009 21:46:31 +0000
- To: Gilbert Pilz <gilbert.pilz@oracle.com>
- CC: "public-ws-resource-access@w3.org" <public-ws-resource-access@w3.org>
- Message-ID: <4F4942E980BD7147AE7F7D3DCB9CBA9F043D6EC2@TK5EX14MBXC138.redmond.corp.microsoft.>
> 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 Your reading of MUST and MAY is correct. Let's clarify this in the specification. Regards, Asir S Vedamuthu Microsoft Corporation From: Gilbert Pilz [mailto:gilbert.pilz@oracle.com] Sent: Monday, September 28, 2009 7:56 AM To: Asir Vedamuthu Cc: public-ws-resource-access@w3.org Subject: Re: [Bug 7586] New: wse:Expires multiple data types creates interop issue 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> [mailto:public-ws-resource-access-notifications-request@w3.org] On Behalf Of bugzilla@wiggum.w3.org<mailto:bugzilla@wiggum.w3.org> Sent: Friday, September 11, 2009 5:03 PM To: public-ws-resource-access-notifications@w3.org<mailto: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<mailto:public-ws-resource-access-notifications@w3.org> ReportedBy: gilbert.pilz@oracle.com<mailto:gilbert.pilz@oracle.com> QAContact: public-ws-resource-access-notifications@w3.org<mailto: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 Tuesday, 29 September 2009 21:47:20 UTC