- From: Gilbert Pilz <gilbert.pilz@oracle.com>
- Date: Tue, 07 Jul 2009 15:49:59 -0700
- To: "public-ws-resource-access@w3.org" <public-ws-resource-access@w3.org>
- Message-ID: <4A53D117.2030800@oracle.com>
As I said on the conference call, it seems we have a disconnect with regards to our extension handling models. As a way of bridging this gap, I thought I would throw out a few examples of extended Subscribe requests and explain how I think they should be handled. Here's Example 1: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://www.w3.org/2009/02/ws-evt" xmlns:frq="http://www.refractory.org/timeDilation"> <s:Header> <wsa:Action>http://www.w3.org/2009/02/ws-evt/Subscribe</wsa:Action> . . . </s:Header> <s:Body> <wse:Subscribe> <wse:Delivery> <wse:NotifyTo> <wsa:Address>http://www.example.com/MyEventSink/OnStormWarning</wsa:Address> </wse:NotifyTo> * <frq:Dilate> <frq:TimeScale useRelative="true"> <frq:PhaseShift>-73.243</frq:PhaseShift> </frq> <frq:Margin>2009-07-07T15:27:26-0700</frq:Margin> </frq:Dilate>* </wse:Delivery> </wse:Subscribe> </s:Body> </s:Envelope> *OH MY GOD!* What should I do with this request?!? I have no idea what I am supposed to do with the frq:Dilate element, much less what the frq:TimeScale, frq:PhaseShift, and frq:Margin elements mean. I'd better look at the spec: The elements defined in this specification MAY be extended at the points indicated by their outlines and schema. Implementations MAY add child elements and/or attributes at the indicated extension points but MUST NOT contradict the semantics of the parent and/or owner, respectively. If a receiver does not recognize an extension, the receiver SHOULD ignore that extension. Senders MAY indicate the presence of an extension that has to be understood through the use of a corresponding SOAP Header with a soap:mustUnderstand attribute with the value "1". Oh. In that case I'll just ignore the whole frq:Dilate thingy, create the Subscription, and respond with the following: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wse="http://www.w3.org/2009/02/ws-evt"> <s:Header> <wsa:Action>http://www.w3.org/2009/02/ws-evt/SubscribeResponse</wsa:Action> . . . </s:Header> <s:Body> <wse:Subscribe> <wse:SubscriptionManager> <wsa:Address> http://www.example.org/oceanwatch/SubscriptionManager </wsa:Address> </wse:SubscriptionManager> </wse:Subscribe> </s:Body> </s:Envelope> And so concludes Example 1. - gp
Received on Tuesday, 7 July 2009 22:50:49 UTC