- From: Prasad Yendluri <pyendluri@webmethods.com>
- Date: Wed, 07 Jul 2004 15:34:21 -0700
- To: David Orchard <dorchard@bea.com>
- Cc: www-ws-desc@w3.org, Sanjiva Weerawarana <sanjiva@watson.ibm.com>, paul.downey@bt.com
- Message-ID: <40EC7A6D.9040509@webmethods.com>
Hi Dave,
David Orchard wrote:
> Prasad,
>
> I never said that the reply address had to be fixed. I fully expect
> it to be dynamic.
I based my comment on the following in your proposal
(http://lists.w3.org/Archives/Public/www-ws-desc/2004Jun/0287.html):
The endpoint has an additional optional asynch address attribute. This attribute specifies a location of the 2nd message if the interface operation is bound to 2 protocol messages.
<service name="xs:NCName" interface="xs:QName"
<endpoint name="xs:NCName" binding="xs:QName" location="xs:anyURI" asynchLocation="xs:anyURI"?>
</endpoint>*
</service>*
If that was not the intent we are in agreement.
> And you don't answer the same question I asked of Sanjiva: How are the
> soap binding components set in the callback mep? You don't answer how
> soap action is set on the 2nd soap req/resp mep for example. This
> ought to be done in the binding.
By callback MEP I take you mean output of an operation (?) with async
binding. I agree things like soap action need to be accommodated. This
should perhaps be dynamic and handled at the EPR Spec (WS-Addressing)
level as well, like <wsa:Action> under <wsa:ReplyTo>?
Supplied with the reply only if present?
Regards, Prasad
> Cheers,
> Dave
>
> -----Original Message-----
> From: Prasad Yendluri [mailto:pyendluri@webmethods.com]
> Sent: Wednesday, July 07, 2004 1:35 PM
> To: www-ws-desc@w3.org
> Cc: David Orchard; Sanjiva Weerawarana; paul.downey@bt.com
> Subject: Re: Revised Asynch Binding
>
> I agree with Sanjiva that this needs to be kept simple. Since
> Dave's analysis shows there is no conflict in using the same
> protocol URI (for soap/http) here, I like to propose that we take
> Paul's suggestion and accomplish this by adding the wsdl:async
> attribute on the binding/operation. The presence of this attribute
> with a value of "true" implies the operation supports async
> exchanges (default "false").
> However, I do not think it makes sense to "fix" the reply address
> at the service level (asynclocation) as proposed by Dave, as we
> want this to be dynamic based on the specific client that is
> interacting with the service (EP). Hence I propose that we attach
> the following semantics when @wsdl:async=true on a binding/operation:
>
> If the EP identified in the service/endpoint/@location is that
> references a binding (@binding) with the @async=true, it is
> declaring itself to be capable of asynchronous exchanges. However
> for the EP to respond asynchronously, the asyncLocation / replyTo
> address must be communicated by other means (WS-Addressing header
> or WS-MD header etc.).
>
> Perhaps this can be added as an extension to <service> (or
> binding or binding/operation?). E.g.
> <service ... @EPRprotocol="xs:anyURI"? ...>
>
><definitions>
> <binding name="xs:NCName" interface="xs:QName"? type="xs:anyURI"
> wsoap:protocol="xs:anyURI"
> wsoap:mepDefault="xs:anyURI"? >
>
> <operation ref="xs:QName"
> wsoap:mep="xs:anyURI"?
> wsoap:action="xs:anyURI"?
> wsdl:async="xs:boolean"
> >
>
> <input messageLabel="xs:NCName"? >
> </input>*
> <output messageLabel="xs:NCName"? >
>
> </output>*
> </operation>
> </binding>
>
><service name="xs:NCName" interface="xs:QName"
> <endpoint name="xs:NCName" binding="xs:QName" location="xs:anyURI" EPRprotocol="xs:anyURI"?>
> </endpoint>*
></service>*
>
>
>
> Regards, Prasad
>
> -------- Original Message --------
> Subject: RE: Revised Asynch Binding
> Resent-Date: Tue, 6 Jul 2004 13:19:34 -0400 (EDT)
> Resent-From: www-ws-desc@w3.org
> Date: Tue, 6 Jul 2004 10:15:30 -0700
> From: David Orchard <dorchard@bea.com>
> To: Sanjiva Weerawarana <sanjiva@watson.ibm.com>,
> <www-ws-desc@w3.org>
>
>
>> -----Original Message-----
>> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On
>> Behalf Of Sanjiva Weerawarana
>> Sent: Tuesday, July 06, 2004 8:49 AM
>> To: www-ws-desc@w3.org
>> Subject: Re: Revised Asynch Binding
>>
>>
>> Hi Dave,
>>
>> Good discussion.
>>
>> > I already argued the point about SOAP HTTP binding of interface
>> > operations. How is my or even Paul's proposed use of asynch
>> > violating the XMLP defined SOAP HTTP binding? That binding roughly
>> > says that the HTTP request and response contain a SOAP body.
>>
>> I just read section 7 of SOAP 1.2 part 2 and to me it says pretty
>> clearly that the HTTP request carries the request message of the
>> SOAP request-response MEP and and the *response to that request*
>> contains the response message of the SOAP request-response MEP.
>>
>> (See http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#soapinhttp)
>>
>> Can one of the XMLPers please confirm or deny that statement please?)
>>
>> If that is true, we CANNOT claim to use the SOAP-HTTP protocol
>> binding defined by XMLP and use WS-Addressing ReplyTo or other such
>> mechanism to do an asynch call.
>
>Ah, but you haven't seen the legal maven DaveO in action.
>
>I would argue that in the case of 2 separate http operations, we can be quite creative
>in the interpretation of the word "that" in "that request". If I have a protocol trace of
>->Request #1 (wsdl operation input)
><-Response #1 (200/empty)
><-Request #2 (wsdl operation output)
>->Response #2 (200/empty)
>
>I feel completely comfortable in saying that both of the 200/empties are
>responses to the respective request. That is the 200/empty is the
>*response to the request*. We have layered *gasp* an abstraction on top
>that isn't seen by the underlying protocol, and the underlying protocol
>doesn't need to care.
>
>Remember soap/http binding just says what goes on the wire. The interpretation of that
>is up to us.
>
>>
>> > It says nothing about how a WSDL operation is sent on the wire.
>> > In particular, it does NOT say that a wsdl operation response must
>> > come over the HTTP response.
>>
>> That's right- it talks about the SOAP request-response MEP (and the
>> SOAP response MEP). However, in our binding we say that we map an
>> in-out WSDL MEP to a request-response SOAP MEP (see the default
>> rules:
>> http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20
>> -bindings.html#soap-defaults).
>> So, if a WSDL in-out MEP is in use and
>> the default SOAP MEP value is used then you cannot do asynch with the
>> @protocol value pointing to the XMLP defined SOAP-HTTP protocol
>> binding.
>
>And I'm arguing that we can validly say that we map an in-out WSDL MEP to either:
>- a single http operation request-response SOAP-MEP (default)
>- a double http operation of 2 request-response SOAP-MEPs.
>
>>
>> > I find it ironic that people keep
>> > talking about interfaces being abstract, but then they almost
>> > invariably think that an interface operation binds directly to
>> > a protocol operation.
>>
>> I certainly don't think so.
>>
>> > My proposal takes 1 interface operation
>> > and maps it to 2 HTTP protocol operations.
>>
>> That's precisely what mine does too! Obviously I haven't explained
>> it properly: it replaces the XMLP-defined binding of the SOAP
>> request-response MEP to HTTP with one that uses two HTTPs, with
>> the URL of the 2nd being somehow specified in the first (via ReplyTo,
>> for example).
>
>>
>> > Your proposal removes the ability for the WSDL to specify the
>> > soap information for the callback, such as soap action, in the
>> > binding of the interface operation.
>>
>> Not at all! One can specify the SOAP Action for the output message
>> and it'll work just great. We currently specify SOAP action at
>> the operation level, which is by itself a problem .. see
>> WS-Addressing's
>> <Action> gizmo for example .. it uses different actions for the
>> request and response messages. Paul's message described a scenario
>> which motivates that.
>>
>> (Which again reminds me that I want to propose a solution for the
>> "operation name" problem to address that too.)
>>
>> > In your proposal, I have to have 2 interface operations to do
>> > the callback, whereas mine allows for a single interface operation.
>>
>> Absolutely not - my proposal allows a single WSDL operation using
>> the WSDL in-out MEP to be bound to two HTTPs to enable the asynch
>> behaviour we are looking for.
>>
>
>Can you show me how your proposal would do this? I'm not seeing it...
>
>My proposal uses the binding output to allow the adornment of the 2nd soap request/response mep.
>I don't see where yours would allow this data.
>
>Cheers,
>Dave
>
>
Received on Wednesday, 7 July 2004 18:36:00 UTC