- From: David Hull <dmh@tibco.com>
- Date: Fri, 11 Feb 2005 16:49:19 -0500
- To: public-ws-async-tf@w3.org
- Message-id: <420D285F.5070306@tibco.com>
> The point is to ask if we all agree, however we actually acheive it,
> that WSDL needs to support patterns like this - a request/response
> operation where the request and the response might be sent along
> completely different transport paths (and in fact where the response
> transport path might be unknown at WSDL time).
I'm probably missing something, but wouldn't the ability to supply a
reply-to EPR dynamically subsume this as a special case? Maybe not.
There look to be several different constructs on the table:
1. Current WSDL: An operation is bound to a (single) transport. The
server advertises "I accept request/reply operations on this
transport."
2. The messages in an operation may be bound statically, but
separately. The server advertises "I accept requests on this
transport and send replies on this one." IMHO this invites
combanatorial explosion (or at least a small "bang", since there
are generally only two dimensions) and seems to be of limited use.
3. The messages in an operation may be bound dynamically from a given
set of transports. The server advertises "I accept requests on
these transports and send replies on these transports." (the two
sets may not be identical).
4. Outgoing messages may be sent to arbitrary EPRs. The server
advertises "I accept requests on these transports and send replies
wherever you say, as long as I know how to send to the destination
you give."
I don't see how 3 could work without giving a reply-to EPR, or the moral
equivalent, in the request message. That is, 3 requires 4. The
question then becomes how best to advertise the set of supported reply
transports. This seems more like a server-wide property than a
per-operation property.
From thinking it over myself, and then talking it over with my local
WSDL representative, it seems like the most direct approach is just to
add some sort of "dynamic reply" element to the binding (e.g., as a
feature?). This means "I accept requests as per this binding, and you
may specify the reply EPR dynamically, from your choice of these
transports." On output-first (the old solicit response) it says "I will
send a request as per this binding. It will contain a set of possible
reply EPRs from one of these transports."
The current behavior falls out as a special case. It's equivalent to a
supported reply transport list of "anonymous", with a missing reply-to
defaulted to anonymous.
Received on Friday, 11 February 2005 21:49:54 UTC