On 1/11/07, Glynn, Eoghan <[EMAIL PROTECTED]> wrote:
> but I don't think Microsoft or Axis does (I couldn't > find any info on the later, so I could be wrong there). In the Axis2 case, I believe Sandesha2 has moved to the 1.1 MakeConnection approach.
That leaves us and Systinet as the only people doing one way anonymous back chanel acknowledgements - aka partial responses. (OWABCA anyone? No that won't do... :-))
I did some tests with Systinet and here is what their > "partial response" > looks like: > > HTTP/1.0 200 OK > Date: Wed, 10 Jan 2007 22:35:46 GMT > Connection: close > Server: Systinet Server for Java/6.5.4 (Java/1.5.0_10; > Windows Vista/6.0; build SSJ-6.5.4-20060829-1824) > SOAPAction: " > http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement" > Content-Type: text/xml; charset=UTF-8 > > <?xml version="1.0" encoding="UTF-8"?> > <e:Envelope > xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:e=" > http://schemas.xmlsoap.org/soap/envelope/"> > <e:Header> > <wsrm:SequenceAcknowledgement e:mustUnderstand="1"> > > <wsrm:Identifier>req:e9bfc950-a0fa-11db-961c-e9bf7b31961c</wsr > m:Identifier> > <wsrm:AcknowledgementRange Upper="1" Lower="1"/> > </wsrm:SequenceAcknowledgement> > </e:Header> > <e:Body/> > </e:Envelope> > > A couple thoughts. First, there is no 202, so I don't think > we should be using that as a trigger. Interesting, is the test invocation a oneway or twoway?
If the former, then I suppose they could justify using a "200 OK"
response code.
It is indeed a response to a one way operation.
> And there obviously > isn't an action, so that is right out. It doesn't have a > RelatesTo. The lack of a RelatesTo is what I've been advocating as the distinguishing feature for partial versus full responses.
I would argue that its not the lack of RelatesTo that distinguishes it. Its the presence of a <SequenceAcknowledgement> on a response to a one way message. *snip bad idea #357 from dan* OK, so I forgot that Conduits are used for multiple connections. Not sure what I was thinking there. Still I think we can clean things up a bit (in addition to the changes I've outlined in the other thread to remove automatic decoupling in the transport layer): 1. Remove isPartialResposne from HTTPConduit - this logic isn't right as it depends on a certain HTTP response code. I think the best way to test to see if we have a response message is to just check and see if the contentType is null. If it isn't, there is a message. If it is null, then there is no message. 2. RM logic shouldn't need anything special now, just recognition of a <SequenceAcknowledgement> in response to a one way message. 3. Remove isPartialResposne from ClientImpl. This call is really superflous as we are going to return as soon as the one way message is sent anyway - we aren't blocking for a response since we check for isOneWay on line 160. We should also change our logic so that we only look for response objects if the call is one way. - Dan -- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog
