Re: WS-Addr issues

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