OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ws-rx] AnonURI and Offer and WS-Addressing


Marc

I recently re-read the latest WSA drafts and I agree with you in your 
reading of the WSA spec.


Paul

Marc Goodner wrote:
>
> I would point out that the definition of anonymous uri is:
>
> “Some endpoints cannot be located with a meaningful IRI; this URI is 
> used to allow such endpoints to send and receive messages. The precise 
> meaning of this URI is defined by the binding of Addressing to a 
> specific protocol and/or the context in which the EPR is used.”
>
> The section you quote below is from section 5.1 Use of Anonymous 
> Address in SOAP Response Endpoints. The SOAP 1.2 binding text you 
> quote does not cover RM, rather it covers a vanilla SOAP 1.2 endpoint 
> only. WS-A leaves us the flexibility to clarify any points on its use 
> when RM is in use.
>
> I’m still surprised to see suggestions to the effect that anon can not 
> be used with RM followed by suggestions that amount to defining our 
> own anon uri (essential anonymous uri redux). I think it makes far 
> more sense to clarify any points on the use of anon when the RM 
> protocol is being used rather than forbid its use as it seems the WS-A 
> WG left us the latitude to do so. So I disagree with your points 1, 2 
> and 5 below.
>
> On point 3 I see that as being different only if you’ve only been 
> looking at this from a point of view of 1 way messages exclusively. If 
> you get an ack for a request you sent without the corresponding 
> response you obviously still have the request available for 
> retransmitting. I don’t see the difficulty. I don’t see how out only 
> applies in this discussion though.
>
> On point 4 you seem to have an async response in mind. In a 
> synchronous req/resp MEP the ack for the request message would be on 
> the response message. The thing we’re discussing is what to do when 
> that response message is lost and the ack is detected in a ack range 
> on a subsequent response message to the client. It helps to think of 
> this without complications. Imagine that the request comes in and the 
> response (with the ack) is lost. The client hasn’t sent any other 
> requests. What does it do? Why it resends the request. The service 
> should be prepared for this as it never got an ack for the response 
> either. Just extend that model and it is easy to see that when the 
> client sees an ack on a response to another message that contains an 
> ack for a request it never got a response from it can resend the 
> request to get the unacknowledged response. What is the problem?
>
> Finally I’d like to point out that this and many other recent posts 
> conflates i090 and i089 together. I don’t understand why so much 
> emphasis is being placed on the use of anonymous with an Offered 
> sequence to simultaneously justify removing Offer and prove that 
> anonymous should be forbidden when using WS-RM because of perceived 
> problems when used with Offer.
>
> Marc Goodner
>
> Technical Diplomat
>
> Microsoft Corporation
>
> Tel: (425) 703-1903
>
> Blog: http://spaces.msn.com/mrgoodner/
>
> ------------------------------------------------------------------------
>
> *From:* Doug Davis [mailto:dug@us.ibm.com]
> *Sent:* Monday, March 13, 2006 6:03 AM
> *To:* ws-rx@lists.oasis-open.org
> *Subject:* Re: [ws-rx] AnonURI and Offer and WS-Addressing
>
>
> Paul,
> please see: 
> http://dev.w3.org/cvsweb/~checkout~/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#anonaddress 
>
> which is the latest editor's copy of WSA, and in particular:
> When "http://www.w3.org/2005/08/addressing/anonymous"; is specified for 
> the response endpoint and the message is the 
> http://www.w3.org/2003/05/soap/mep/InboundMessage property of a SOAP 
> request-response MEP [/SOAP 1.2 Part 2: Adjuncts/ 
> <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>], 
> then any response MUST be the 
> http://www.w3.org/2003/05/soap/mep/OutboundMessage property of the 
> same instance of the SOAP request-response MEP [/SOAP 1.2 Part 2: 
> Adjuncts/ 
> <http://dev.w3.org/cvsweb/%7Echeckout%7E/2004/ws/addressing/ws-addr-soap.html?content-type=text/html;%20charset=utf-8#SOAP12-PART2>]. 
>
>
> They've added quite a bit of clarifying text since the submitted 
> version. I think the "same instance" part makes it clear that the 
> response MUST flow over the same http connection as the request.
>
> Perhaps it would help if we summarized the list of options:
>
> 1 - prohibit anon replyTo if the response is expected to be sent using RM
> 2 - prohibit the use of RM when the wsa:To is anonymous - or said 
> another way, when replyTo is anon the response is not sent using RM
> 3 - resend request until response is delivered/acked even if the 
> request is acked
> 4 - don't ack a request until the response is sent
> 5 - define a new URI that allows a polling flow like Paul described in 
> his previous note
>
> Here are some comments on each:
> 1 and 2 might actually be the same thing but my intention was to say 
> that in '1' you can't use anon replyTo if the response is sent 
> reliably - so perhaps a Fault is generated. In '2', if the replyTo is 
> anon then no matter what the wsdl/policy... says, RM needs to be 
> turned off for the response - it can still be sent but just not as 
> part of an RM sequence. Slightly different.
> '3' is a change to what I believe is most people current view of the 
> RM processing model because we'll resend ACKed messages. It also will 
> only work for one-req/one-res MEPs. Out-only, or 
> single-req/multiple-res may have issues.
> '4' is a change to the RM processing model because the RMD will not 
> ACK a message even if it is received. Depending on how you view things 
> this could mean that the RMD needs to lie about what it has and could 
> cause messages to be resent because the RMD is waiting for a response 
> before it will ACK the request. Now, since the RMD gets to choose when 
> it ACKs (meaning is it simply 'I got it' or something else it up to 
> it), so to some this may not be lying but just a change to the ACK 
> model of that RMD.
> '5' doesn't require a change to the RM processing model but heads in 
> the direction of ws-polling and can work w/o a change to the RM 
> processing model and can work for all MEPs. Even if we did pick this 
> option we'd still need to say something in the RM spec about what 
> should happen when anon replyTo is used (I'm guessing 1 or 2).
>
> Are there any other options people think we need to add to the list? 
> Having all of the known choices in front of us might help focus the 
> discussions.
>
> thanks,
> -Doug
>
>
>
> *Paul Fremantle <paul@wso2.com>*
>
> 03/12/2006 04:43 AM
>
> 	
>
> To
>
> 	
>
> Bob Freund-Hitachi <bob.freund@hitachisoftware.com>
>
> cc
>
> 	
>
> Doug Davis/Raleigh/IBM@IBMUS, wsrx <ws-rx@lists.oasis-open.org>
>
> Subject
>
> 	
>
> [ws-rx] AnonURI and Offer and WS-Addressing
>
> 	
>
>
>
>
> Bob et al.
>
> I've attached a document that outlines the flow and shows message 
> exchanges for a given interaction. The key question is whether the 
> interaction:
>
> RMD.AckRequested_EmptyBody -> EchoResponse_World_ackSeq_1_2_3
>
> breaks the WS-Addressing spec.
>
> Paul
>
> Bob Freund-Hitachi wrote:
> Just another log for the fire…
> In reading HTTP 1.1, I do not see anything that specifies that the 
> response entity cannot be interpreted prior to its completion. In 
> principle, it seems to me that both ack and response could be sent on 
> the same connection backchannel provided that it was not closed 
> prematurely. Is this how the implementations that work do it?
> Thanks
> -bob
>
> ------------------------------------------------------------------------
>
>
> *From:* Doug Davis [mailto:dug@us.ibm.com] *
> Sent:* Friday, March 10, 2006 1:36 AM*
> To:* Paul Fremantle*
> Cc:* wsrx*
> Subject:* Re: [ws-rx] An alternative approach to make anon reply-to 
> and sync rm work
>
>
> Paul,
>
> I think there are some problems with this - I still think this 
> violates WSA. There's a reason anon replyTo means, in essence, the 
> http response flow of the request message. The connection becomes the 
> correlator between the request and the response - meaning if several 
> anon requests come in the only way the server knows which client gets 
> which response is thru the http connection. In your scenario if there 
> are two anon requests sent to the server using the same sequence and 
> no responses sent, when the third connection is made (to carry the 
> ackReq) how does the server know which client is initiating the 
> request. It can not simply assume that just because they shared the 
> same sequence that they also share WSA state and that any response can 
> be sent to any client. The correlation is now lost.
>
> thanks,
> -Doug
>
> *Paul Fremantle **<paul@wso2.com>* <mailto:paul@wso2.com>
>
> 03/09/2006 06:53 PM
>
> 	
>
> To
>
> 	
>
> wsrx <ws-rx@lists.oasis-open.org> <mailto:ws-rx@lists.oasis-open.org>
>
> cc
>
> 	
>
> Subject
>
> 	
>
> [ws-rx] An alternative approach to make anon reply-to and sync rm work
>
>
> 	
>
>
>
>
>
> The biggest issue with the two way reliable HTTP + anonURI case is the
> requirement to replay request messages to get responses.
>
> Why is this a problem? Because it means that the client has to store
> requests (if and only if the interaction is two-way) beyond getting an 
> ack
> for that request.
>
> This means that the RMS has to "know" if this particular message
> interaction is one-way or two way. This means that for example, a dumb
> gateway can't do it without looking at WSDLs etc.
>
> Why do we need to do this: because WSA states:
>
> "For instance, the SOAP 1.2
> HTTP binding puts the reply message in the HTTP response."
>
> So I agree we should not put an application reply to message A in an
> HTTP response to application message B.
>
> However, if we added the following text to our spec:
>
> "In the case where an offered sequence is used, the RMS may send an
> <wsrm:AckRequested> header together with an empty SOAP body. A valid
> response to this message MAY either contain an empty SOAP body, or MAY
> contain a message for the *offered* sequence".
>
> The result of this would be that the response message on the HTTP reply
> would be a valid reply to the request message and therefore would not 
> break the
> WS-Addressing text above. Effectively WSRM would be defining what
> the SOAP request/reply would be, and therefore "making it right"
> with respect to the HTTP binding.
>
> So, when things are going well the HTTP reply to any given request 
> message would be the
> correct response message. But in the case that this message got lost or
> delayed, the RMS would have a choice. If it still had the message, and it
> "knew" that the MEP was two-way, it could choose to resend the
> original request OR it could send an empty body with an ackRequested
> header.
>
> This also gives the offered sequence a message onto which to
> piggyback Close and TerminateSequence requests, solving another problem.
>
> More importantly it removes the need for
> the RMS to "know" the MEP, because by the repeated application of 
> empty-body ackRequests,
> the RMS can get the offered sequence into a decent state.
>
> The only compulsory implementation change I see is that the RMD would
> have to be coded to know what this empty body + ackrequest means.
>
> From the RMS I see this as optional. It is completely up to the RMS
> whether it initiates a CS with Offer+AnonURI. So if an implementation 
> doesn't support this,
> it will never initiate such a channel. And if the RMS does initiate such
> a channel, it will "know" it is in this mode, that it needs to send
> occasional empty ackrequests until it can close down the offered sequence.
>
> In addition we would have to remove the words that say Offer is simply 
> an optimization,
> because this usage makes a specific correlation between a sequence and 
> offered sequence.
>
> Paul
>
> -- 
>
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> _
> _http://feeds.feedburner.com/bloglines/pzf_
> _paul@wso2.com <mailto:paul@wso2.com>
>
> "Oxygenating the Web Service Platform", www.wso2.com 
> <http://www.wso2.com/>
>
>
> -- 
>
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>
> http://feeds.feedburner.com/bloglines/pzf
> paul@wso2.com <mailto:paul@wso2.com>
>
> "Oxygenating the Web Service Platform", www.wso2.com 
> <http://www.wso2.com/>_[attachment "AnonURI+Offer.doc" deleted by Doug 
> Davis/Raleigh/IBM] _
>

-- 

Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://feeds.feedburner.com/bloglines/pzf
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]