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] Proposal for i012


Lei,

Right. I did not mean to say that there was just one scenario. I agree 
that there are several cases/scenarios where 'anon' ack cannot be used. 
BP 1.1 one-way WSDL MEP is one of them.

Here is the way I see it:
'anon' URL (at least the way it is defined and used for wsa:ReplyTo and 
wsa:FaultTo in the context of SOAP/HTTP binding) is used to point to 
(typically) a mechanism in the binding/transport that cannot have a 
meaningful URI. For example, to say that it is the HTTP Response.

It is quite possible that the particular binding/transport in use may 
not facilitate such a back-channel for sending messages. In which case, 
one cannot use the 'anon' uri for AcksTo -- because there is no such 
thing available. BP 1.1 one-way operations is one of the cases where 
such a back channel does not exist (there are others). I think providing 
some cautionary wordings around this will be useful.

But, there are cases where such a back channel is available and 'anon' 
is useful here. For example, when using SOAP/HTTP binding without a WSDL 
or when using SOAP/HTTP binding with a WSDL req-res MEP. There is also a 
lot of discussion going on around in-optional-out MEPs in 
WS-Addressing/XMLP WGs in the context of SOAP 1.2, which would allow 
such a back-channel.

Do you disagree that there are usecases where 'anon' AcksTo is useful?

Thx.

-Anish
--

Lei Jin wrote:
> Anish/Marc:
> 
>   I don't think it's accurate to say that I'm pointing to a single
> scenario where anonymous AcksTo cannot be used.  The gist of this is
> that BP1.1 mandates that "For one-way operations, an INSTANCE MUST NOT
> return a HTTP response that contains an envelope. Specifically, the HTTP
> response entity-body must be empty."  Therefore, to return an
> ackownledgement SOAP envelope on top of a one-way MEP will be
> non-interoperable.  Any BP compliant implementation can decide to close
> a http connection after sending back a successful http response code.
> In this case, the acknowledgement cannot flow back on the http response
> channel. 
> 
>   In my example, I used an intermediary to illustrate the problem.
> However, the same problem exists even if there is no intermediary
> involved.  A processing handler before the RM handler can always close a
> http connection in a one-way MEP.
> 
> Lei
> 
> 
>>-----Original Message-----
>>From: Anish Karmarkar [mailto:Anish.Karmarkar@oracle.com] 
>>Sent: Thursday, September 01, 2005 11:44 AM
>>To: Lei Jin
>>Cc: Christopher B Ferris; ws-rx@lists.oasis-open.org
>>Subject: Re: [ws-rx] Proposal for i012
>>
>>
>>Isn't this conflating a reply with an Ack? Which can be 
>>different. I tend to agree with Marc's view that you are 
>>pointing to a scenario 
>>where anon AcksTo cannot be used -- in which case don't use it.
>>
>>I hope I'm not missing some subtlety that you are getting at.
>>
>>
>>But there is another issue (which perhaps needs to be raised 
>>separately): what 'anon' address means for AcksTo EPR is not defined 
>>anywhere.
>>
>>WS-Addressing Core [1] and section 2.1 says the following 
>>about 'anon':
>>
>>"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."
>>
>>WS-Addressing SOAP binding [2] defines what the 'anon' address means 
>>when used with ReplyTo and FaultTo in SOAP and SOAP/HTTP binding. It 
>>does not say anything about what it means when used in other headers 
>>such as AcksTo.
>>
>>This is easily fixed by adding a stmt similar to WS-Addressing SOAP 
>>binding. Something like:
>>
>>"When "http://www.w3.org/2005/08/addressing/anonymous"; is 
>>specified as 
>>the address of the wsrm:AcksTo EPR, the underlying SOAP 
>>protocol binding 
>>provides a channel to the specified endpoint. Any underlying protocol 
>>binding supporting the SOAP request-response message exchange pattern 
>>provides such a channel. For instance, the SOAP 1.2 HTTP binding[SOAP 
>>1.2 Part 2: Adjuncts] puts the reply message in the HTTP response."
>>
>>OR we could ask the WS-Addressing WG to fix their SOAP binding to 
>>include not just ReplyTo and FaultTo EPRs but any EPR when 
>>used in the 
>>context of SOAP/HTTP binding.
>>
>>Thoughts?
>>
>>-Anish
>>--
>>
>>[1] http://www.w3.org/TR/2005/CR-ws-addr-core-20050817/
>>[2] http://www.w3.org/TR/2005/CR-ws-addr-soap-20050817/
>>
>>Lei Jin wrote:
>>
>>>I probably should explain this better.  I am proposing that an 
>>>AckRequested block can be sent standalone in the message body.  In 
>>>this case, it is a request/response message.  And a 
>>>SequenceAcknowledgement is sent in response to this 
>>
>>message.  If you 
>>
>>>specify an anonymous URI for the ReplyTo of the 
>>
>>AckRequested message, 
>>
>>>then the SequenceAcknowledgement can be sent back on the 
>>
>>http response 
>>
>>>channel.
>>>
>>>I guess we could use a different message element than AckRequested, 
>>>but I was just trying to reuse an existing construct.
>>>
>>>Lei
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Christopher B Ferris [mailto:chrisfer@us.ibm.com]
>>>>Sent: Thursday, August 25, 2005 1:59 PM
>>>>To: Lei Jin
>>>>Cc: Anish Karmarkar; Marc Goodner; ws-rx@lists.oasis-open.org
>>>>Subject: RE: [ws-rx] Proposal for i012
>>>>
>>>>
>>>>Lei,
>>>>
>>>>AckRequested is not request/response. I don't see how this
>>>>helps at all. 
>>>>
>>>>Cheers,
>>>>
>>>>Christopher Ferris
>>>>STSM, Emerging e-business Industry Architecture
>>>>email: chrisfer@us.ibm.com
>>>>blog: http://webpages.charter.net/chrisfer/blog.html
>>>>phone: +1 508 377 9295
>>>>
>>>>"Lei Jin" <ljin@bea.com> wrote on 08/25/2005 03:12:13 PM:
>>>>
>>>>
>>>>
>>>>>A request-response MEP used reliably is asynchronous and is
>>>>
>>>>basically
>>>>
>>>>
>>>>>composed of two separate one-way MEPs.  Thus, there are really no
>>>>>differences to the oneway case. (there is nothing normally flowing 
>>>>>back on the http response)
>>>>>
>>>>>If there is an AcksTo address on the source side that is
>>>>
>>>>reachable from
>>>>
>>>>
>>>>>the destination, then use that address.   Otherwise, use 
>>>>
>>>>the not-allowed
>>>>
>>>>
>>>>>EPR for AcksTo which means you can retrieve the Acks through
>>>>>AcksRequest messages.
>>>>>
>>>>>Lei
>>>>>
>>>>>
>>>>>
>>>>>>-----Original Message-----
>>>>>>From: Anish Karmarkar [mailto:Anish.Karmarkar@oracle.com]
>>>>>>Sent: Thursday, August 25, 2005 10:24 AM
>>>>>>To: Lei Jin
>>>>>>Cc: Marc Goodner; ws-rx@lists.oasis-open.org; Christopher B Ferris
>>>>>>Subject: Re: [ws-rx] Proposal for i012
>>>>>>
>>>>>>
>>>>>>Hi Lei,
>>>>>>
>>>>>>How does your proposal address the scenario where:
>>>>>>HTTP is being used, there aren't any intermediaries, it is a 
>>>>>>request-response WSDL MEP, and the acks are to be sent
>>>>
>>>>using the HTTP
>>>>
>>>>
>>>>>>response (backchannel).
>>>>>>
>>>>>>In such a case, what should the value of the [address] 
>>
>>property of 
>>
>>>>>>AcksTo EPR be?
>>>>>>
>>>>>>-Anish
>>>>>>--
>>>>>>
>>>>>>Lei Jin wrote:
>>>>>>
>>>>>>
>>>>>>>I disagree.  Here is a use case that shows a problem with
>>>>>>
>>>>>>an anonymous
>>>>>>
>>>>>>
>>>>>>>AcksTo.
>>>>>>>
>>>>>>>Node A  --->  Intermediary ---> Node B
>>>>>>>
>>>>>>>Node A tries to send messages reliably to Node B.  For
>>>>
>>>>simplicity,
>>>>
>>>>
>>>>>>>let's
>>>>>>>assume these are all oneway messages.  Node A establishes a
>>>>>>
>>>>>>reliable
>>>>>>
>>>>>>
>>>>>>>sequence with an anonymous AcksTo and starts to send messages.
>>>>>>>The
>>>>>>>messages first go through the Intermediary which has 
>>>>
>>>>B's WSDL and
>>>>
>>>>
>>>>>>>figures out these are oneway messages.  So it decides to
>>>>>>
>>>>>>send back a
>>>>>>
>>>>>>
>>>>>>>http 202 to A and close the connection before forwarding
>>>>>>
>>>>>>the message on
>>>>>>
>>>>>>
>>>>>>>to Node B.  Now Node B gets the message and wants to send
>>>>>>
>>>>>>back an Ack
>>>>>>
>>>>>>
>>>>>>>synchronously (due to the anonymous Ack).  But it can't
>>>>>>
>>>>>>send the Ack
>>>>>>
>>>>>>
>>>>>>>since the connection between Node A and the Intermediary is
>>>>>>
>>>>>>already closed.
>>>>>>
>>>>>>
>>>>>>>Basically the problem is that the introduction of
>>>>
>>>>anonymous AcksTo
>>>>
>>>>
>>>>>>>converts a oneway MEP into a two-way MEP.  In order for it
>>>>>>
>>>>>>to work, all
>>>>>>
>>>>>>
>>>>>>>intermediaries will need to be WSRM aware and keep
>>>>>>
>>>>>>connections open in
>>>>>>
>>>>>>
>>>>>>>case synchronous acks need to be sent back.
>>>>>>>
>>>>>>>Proposal:
>>>>>>>
>>>>>>>* Specifically call out that the anonymous IRI is not
>>>>
>>>>to be used
>>>>
>>>>
>>>>>>>in
>>>>>>>AcksTo.
>>>>>>>* AcksTo may take on the value of the "not allowed" IRI,
>>>>>>>"_http://www.w3.org/@@@@/@@/addressing/none_";.  When 
>>>>>>
>>>>>>AcksTo takes on
>>>>>>
>>>>>>
>>>>>>>this value, acknowledgement will only be sent back in
>>>>
>>>>response to
>>>>
>>>>
>>>>>>>AckRequest messages.
>>>>>>>
>>>>>>>Lei
>>>>>>>
>>>>>>>
>>>>>>>   -----Original Message-----
>>>>>>>   *From:* Marc Goodner [mailto:mgoodner@microsoft.com]
>>>>>>>   *Sent:* Tuesday, August 23, 2005 3:16 PM
>>>>>>>   *To:* ws-rx@lists.oasis-open.org; Lei Jin;
>>>>
>>>>Christopher B Ferris
>>>>
>>>>
>>>>>>>   *Subject:* [ws-rx] Proposal for i012
>>>>>>>
>>>>>>>   I believe Chris Ferris had made a similar proposal
>>>>>>
>>>>>>earlier but in
>>>>>>
>>>>>>
>>>>>>>   the interest of a +1 and trying to move this along I'll
>>>>>>
>>>>>>make a more
>>>>>>
>>>>>>
>>>>>>>   formal proposal.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>   Proposal:
>>>>>>>
>>>>>>>   WS-RM was designed to be used with WS-Addressing in
>>>>
>>>>which the
>>>>
>>>>
>>>>>>>   behavior of the anonymous URI is defined as an address
>>>>>>
>>>>>>in an EPR.
>>>>>>
>>>>>>
>>>>>>>   There is no requirement that the anonymous URI must
>>>>
>>>>be used and
>>>>
>>>>
>>>>>>>   there are valid applications of it, therefore this
>>>>>>
>>>>>>issue should be
>>>>>>
>>>>>>
>>>>>>>   closed with no action
>>>>>>>
>>>>>>


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