- From: Marc Hadley <Marc.Hadley@Sun.COM>
- Date: Tue, 10 Oct 2006 13:05:21 -0400
- To: Doug Davis <dug@us.ibm.com>
- Cc: "[WS-A] Public List" <public-ws-addressing@w3.org>
- Message-id: <F54EBEFB-F058-4343-8F66-A441FEA20121@Sun.COM>
On Oct 10, 2006, at 11:56 AM, Doug Davis wrote: > > And what is the GetQuoteResponse message a reply to? The wsrm:MakeConnection. > If its a reply to the original request and that request had a > replyTo set to anon then per the WSA rules the GetQuoteResponse > should have flowed back on the original backchannel but it didn't. > It sounds like you are still thinking in terms of the application level. GetQuoteResponse is an application-level response to GetQuote but, as I noted earlier in the thread, WS-Addr doesn't work at the application level so there isn't a conflict. Marc. > > On Oct 9, 2006, at 8:29 PM, Doug Davis wrote: > > > > Also, let's not forget that WSA's definition is pretty clear that > > anon means the _current_ backchannel. RM's anon URI allows for the > > messages to flow over a subsequent backchannel - this is a change > > to the semantics of Anon. Doesn't seem like having a ref-p or some > > wsa:RelatesTo change those semantics is kosher. > > The WS-A ReplyTo applies to the current SOAP message, not some > application-level concept of a reply so I don't see any conflict. In > WS-A terms, the wsrm:CreateSequence is the reply to the first message. > > Marc. > > > > > Christopher B Ferris/Waltham/IBM@IBMUS > > Sent by: public-ws-addressing-request@w3.org > > 10/09/2006 04:48 PM > > > > To > > Marc Hadley <Marc.Hadley@Sun.COM> > > cc > > Doug Davis/Raleigh/IBM@IBMUS, public-ws-addressing@w3.org, public- > > ws-addressing-request@w3.org > > Subject > > Re: An Example Use of RM's MakeConnection > > > > > > > > > > > > > > Marc, > > > > Fine for handling request/response I suppose. However, not > > everything is request/response. How does this work when > > there is no "response" but rather a need to get messages from the > > "server" to the "client"? > > > > Cheers, > > > > Christopher Ferris > > STSM, Software Group Standards Strategy > > email: chrisfer@us.ibm.com > > blog: http://www.ibm.com/developerworks/blogs/page/chrisferris > > phone: +1 508 377 9295 > > > > public-ws-addressing-request@w3.org wrote on 10/09/2006 12:26:07 PM: > > > > > Looking at the message flow, I think WS-RM could make more use of > > > wsa:RelatesTo instead of inventing a new anon URI. Here's the same > > > message flow using the WS-A anon URI and making more use of > > > wsa:RelatesTo and @RelationshipType. > > > > > > I think this formulation removes the requirement for additional > > WSRM- > > > specific anon URIs, let me know if I missed anything. > > > > > > Marc. > > > > > > Scenario: Client sends GetQuote to server unreliably. Server > wants > > > to send GetQuoteResponse using RM so it must sent a CreateSequence > > > before I can send the GetQuoteResponse back. > > > > > > Step 1 - Client sends GetQuote to Server > > > <soap:Envelope ...> > > > <soap:Header> > > > <wsa:To> http://stockquote.com </wsa:To> > > > <wsa:Action> foo:GetQuote </wsa:Action> > > > <wsa:MessageID> uuid://.../100 </wsa:MessageID> > > > <wsa:ReplyTo> > > > <wsa:Address>http://www.w3.org/.../anonymous</wsa:Address> > > > </wsa:ReplyTo> > > > </soap:Header> > > > <soap:Body> > > > <foo:GetQuote> IBM </foo:GetQuote> > > > </soap:Body> > > > </soap:Envelope> > > > > > > Step 2 - Server sends an RM CreateSequence to the Client using the > > > only means it has available - the transport backchannel. > > > <soap:Envelope ...> > > > <soap:Header> > > > <wsa:To>http://www.w3.org/.../anonymous</wsa:To> > > > <wsa:Action> http://...wsrm/CreateSequence </wsa:Action> > > > <wsa:MessageID> uuid://.../101 </wsa:MessageID> > > > <wsa:RelatesTo RelationshipType="http://...wsrm/InitReliable"> > > > uuid://.../100 > > > </wsa:RelatesTo> > > > <wsa:ReplyTo> > > > <wsa:Address> http://stockquote.com </wsa:Address> > > > </wsa:ReplyTo> > > > </soap:Header> > > > <soap:Body> > > > <wsrm:CreateSequence> ... </wsrm:CreateSequence> > > > </soap:Body> > > > </soap:Envelope> > > > > > > Notice the use of RelatesTo with a WSRM-specific > > @RelationshipType to > > > indicate that this message is a WSRM-specific response to the > > initial > > > request. > > > > > > Step 3 - Client sends a CreateSequenceResponse to wsa:ReplyTo > > > <soap:Envelope ...> > > > <soap:Header> > > > <wsa:To> http://stockquote.com </wsa:To> > > > <wsa:Action> http://...wsrm/CreateSequenceResponse </ > wsa:Action> > > > <wsa:RelatesTo> uuid://.../101 </wsa:RelatesTo> > > > </soap:Header> > > > <soap:Body> > > > <wsrm:CreateSequenceResponse> ... </ > wsrm:CreateSequenceResponse> > > > </soap:Body> > > > </soap:Envelope> > > > > > > Step 4 - Having not received the GetQuoteResponse, the Client uses > > > MakeConnection to allow it to flow back > > > <soap:Envelope ...> > > > <soap:Header> > > > <wsa:To> http://stockquote.com </wsa:To> > > > <wsa:Action> http://...wsrm/MakeConnection </wsa:Action> > > > <wsa:ReplyTo> > > > <wsa:Address>http://www.w3.org/.../anonymous</wsa:Address> > > > </wsa:ReplyTo> > > > <wsa:RelatesTo RelationshipType="http://...wsrm/ > InitialRequest"> > > > uuid://.../100 > > > </wsa:RelatesTo> > > > </soap:Header> > > > <soap:Body> > > > <wsrm:MakeConnection> > > > </wsrm:MakeConnection> > > > </soap:Body> > > > </soap:Envelope> > > > > > > Notice the use of the wsa:RelatesTo with a WSRM-specific > > > @RelationshipType to indicate that this message is requesting a > > > response to the initial request message. > > > > > > Step 5 - Server uses the backchannel to let the GetQuoteResponse > > flow > > > back to the Client > > > <soap:Envelope ...> > > > <soap:Header> > > > <wsa:To>http://www.w3.org/.../anonymous</wsa:To> > > > <wsa:Action> foo://GetQuoteResponse </wsa:Action> > > > <wsa:RelatesTo> uuid://.../100 </wsa:RelatesTo> > > > <wsrm:Sequence> ... </wsrm:Sequence> > > > </soap:Header> > > > <soap:Body> > > > <foo:GetQuoteResponse> 139.0 </foo:GetQuoteResponse> > > > </soap:Body> > > > </soap:Envelope> > > > > > > Notice the wsa:RelatesTo points to the GetQuote request message > and > > > it is sent using RM (the Sequence header), and that the SOAP > > Envelope > > > looks exactly like it would if it had been sent on the original > > > transport backchannel - meaning, the wsa:To is derived from the > > > wsa:ReplyTo from the GetQuote request message not the > > MakeConnection. > > > > > > --- > > > Marc Hadley <marc.hadley at sun.com> > > > Business Alliances, CTO Office, Sun Microsystems. > > > > > > > > --- > Marc Hadley <marc.hadley at sun.com> > Business Alliances, CTO Office, Sun Microsystems. > > > --- Marc Hadley <marc.hadley at sun.com> Business Alliances, CTO Office, Sun Microsystems.
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Tuesday, 10 October 2006 17:05:40 UTC