- From: Mark Baker <distobj@acm.org>
- Date: Sun, 7 Nov 2004 00:46:32 -0500
- To: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- Cc: public-ws-addressing@w3.org
Sanjiva, thanks so much for actually answering those questions, though
perhaps I should have been clearer that I was really just laying them
out for the WG, since I'm primarily interested in the concensus answers.
FWIW though, I find your answers consistent and compelling (except for
the protocol one - more on that later 8-), although I'd expect there
are others sets of answers that I'd feel similarly about - which, in a
nutshell, is the problem as I see it.
Mark.
On Sat, Nov 06, 2004 at 07:00:20AM +0600, Sanjiva Weerawarana wrote:
> "Mark Baker" <distobj@acm.org> writes:
> >
> > But seriously, aren't you concerned that everybody seems to think
> > that wsa:Action is something different? We've got the GED, wsa:Action,
> > the WSDL operation name mapping requirement, and WSDL's operation
> > style, all vying to have some say in describing service and/or message
> > semantics. It's a mess, and interop is not being served by there
> > being such a mess.
>
> I agree such a mess does not help interop.
>
> Are you familiar with WSDL 2.0's operation name feature? That
> basically says that the name of operation must be represented
> on the wire somehow. That was put in because the input GEDs of
> a collection of In-Out patterned operations in the same interface
> even are not required to be unique. The {name} property of Interface
> Operation components are required to be unique.
>
> > If wsa:Action is the annointed mechanism that's going to clean up that
> > mess, I'm all for that, but IMO, that's going to require calling a
> > spade a spade, and not dodging the hard questions.
>
> I see wsa:Action being the annointed mechanism for realizing the
> operation name feature when WS-Addressing is in use. If you're
> not using WS-Addr then you're welcome to use the 1st child element
> QName the phase of the moon or whatever you want for dispatching.
> The important thing is that the client doesn't care: they just
> need to put whatever the server asked to put and then it'll work.
>
> > Does wsa:Action indicate the operation or not?
>
> It does. Without it we either have to introduce the requirement
> that top level GEDs must be unique (which no one requested BTW
> during the LC period of WSDL 2.0 ;-)) or create some other way
> to distinguish between the same incoming XML messages requiring
> different actions.
>
> Others have already covered why making the GEDs unique is
> unnecessarily limiting.
>
> Another reason I don't like to have to crack open the actual
> payload to figure out what to do with the message is that it
> gets complicated in the presence of reliability and security
> for example. For example, in the case of RM its useful to not
> have to touch the payload until the RM protocol has run. However,
> there can be operation specific RM policies declared (different
> timeout for different operations for example) and that requires
> you to open the payload before being able to determine the
> policies for RM.
>
> Thus, there's a chicken-and-egg problem in general with policy:
> if there are operation specific policies at play then you have
> to be able to figure out the operation to determine the policies,
> but until you know the policies you don't know whether to decrypt,
> verify signatures etc. if the operation itself is in the payload.
>
> > If yes, how does it relate to the underlying protocol method,
>
> I'm not a RESTafarian as you know ;-) - what protocol method? Maybe
> the SOAP message was delivered to me via courier pigeon or worse
> yet the postal-vote-losing-USPS. What "method"?
>
> > the GED,
>
> No relation; see WSDL 2.0.
>
> > the WSDL style,
>
> If its an RPC styled operation then the action is indeed implicit
> in the GED of the message because the GEDs will be unique (assuming
> WSDL 2.0 style no overloading). In that case both the top level GED
> and the action provides the same info, except of course that the
> GED is inside the payload and the other is outside.
>
> > WSDL operation name, and WSDL operation name mapping?
>
> wsa:Action is a relization of the operation name feature as I
> indicated above. The operation name in WSDL 2.0 is logical and
> is there really to enable referring back to that operation
> within a WSDL document (for bindings for example). FWIW I tried,
> without success, to make the operation name optional (as most
> bindings will not need per-operation bindings esp. in WSDL 2.0/SOAP).
>
> > Or, if wsa:Action is sometimes an operation and sometimes not, what
> > else can it be, and what tells a recipient of a message what it is for
> > a given message or service? Operation style? Something else?
>
> Its always the way to figure out what to do with the message: i.e.,
> the operation of the WSDL.
>
> Sanjiva.
>
--
Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca
Received on Sunday, 7 November 2004 05:44:35 UTC