- 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