Re: Comment on WSDL spec: use of Anonymous Element

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