- From: Doug Davis <dug@us.ibm.com>
- Date: Wed, 9 Aug 2006 15:48:50 -0400
- To: Alastair Green <alastair.green@choreology.com>
- Cc: public-ws-addressing@w3.org, ws-rx@lists.oasis-open.org
- Message-ID: <OF2A64A936.BD869829-ON852571C5.006A16A5-852571C5.006CD74C@us.ibm.com>
Alastair, I wanted to mentioned something that, I hope, helps you understand where we're coming from w.r.t. why MakeConnection is just a one-way. I just hope it doesn't kick off another long thread - so I'm just putting this out there to help explain why we did what we did. :-) Let's take the following example: Client sends a message to the server: <Env> <Header> <wsa:To>...stockquote</wsa:To> <wsa:ReplyTo> <wsa:Address> anon </wsa:Address> <wsa:ReferenceParameters> <color> red </color> </wsa:ReferenceParameters> </wsa:ReplyTo> </Header> <Body> GetPrice... </Body> </Env> and for whatever reason the response didn't flow back on the HTTP respones flow - so the point here is that the server has a response message waiting to flow back to this anon EPR and needs to wait for a MC. Client sends a MC: <Env> <Header> <wsa:To>...stockquote</wsa:To> <wsa:ReplyTo> <wsa:Address> anon </wsa:Address> <wsa:ReferenceParameters> <color> blue </color> </wsa:ReferenceParameters> </wsa:ReplyTo> </Header> <Body> MakeConnection... </Body> </Env> So, the question we ran into for this example is: what does the response message have in it w.r.t. the wsa:To header and its ref-p headers? Is it 'red' or 'blue' ? When we started to look at trying to come up with an answer to this (and we talked about a lot of options) we realized that we didn't want to get into things like comparing ref-p's or choosing one set over the other. There was no good answer. Except for one: the use of MakeConnection should not influence the message itself. The generation/serialization/content of the message should be no different than what would happen when any other EPR would be used in the original GetPrice ReplyTo. So, MakeConnection can not be a request-response operation - if it were it would be subject to the WSA "how to formulate a response" logic and could cause the message to have the wrong data it in. We came to the conclusion that MakeConnection needed to be defined to establish a connection and identify the other side of the connection, nothing more. This is why I've said many times, the wsa:ReplyTo on the MakeConnection is irrelevant - no message would be targeted or sent there anyway. It may be useful if you reexamine how RM acks can be sent back on an HTTP response flow even in cases where the message on the HTTP request flow had a wsa:ReplyTo that was non-anon. MakeConnection is using the exact same logic. HTH thanks -Doug
Received on Wednesday, 9 August 2006 19:49:09 UTC