- 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