Re: Which operation?

Hi David,

On Mon, Jun 14, 2004 at 05:56:40PM -0400, David Booth wrote:
> Mark Baker,
>
> Since we're trying to finish up items on our issues list, and issue #168[1] 
> is one of the remaining issues, I thought I'd offer my thoughts on the 
> question that you raised.
> 
> If I understand correctly, you asked what operation the provider agent 
> invoked, when it responded to a message from a requester agent (per the 
> following WSDL document).

Right.

> 
> >    <wsdl:interface name="StockQuotes">
> >        <wsdl:operation name="getStockQuote">
> >            <wsdl:input element="schema1"/>
> >            <wsdl:output element="schema2"/>
> >        </wsdl:operation>
> >    </wsdl:interface>
> 
> My answer would be: That depends on the semantics of the application, and 
> the implementation of the provider agent, which are outside the scope of 
> the WSDL 2.0 language.

I've heard this before, but I don't really buy it, and I don't think any
WSDL developer would buy it either.  Every use of WSDL I've seen uses
the wsdl:operation to define the contract.

> >     <wsdl:interface name="StockQuotes">
> >         <wsdl:operation name="getStockQuote" wsdl:webMethod="GET">
> >             <wsdl:input element="schema1"/>
> >             <wsdl:output element="schema2"/>
> >         </wsdl:operation>
> >         <wsdl:operation name="getStockQuoteGoldPayingCustomer" 
> >wsdl:webMethod="GET">
> >             <wsdl:input element="schema1"/>
> >             <wsdl:output element="schema2"/>
> >         </wsdl:operation>
> >     </wsdl:interface>
> 
> If the provider agent receives a message conforming to schema1, how can it 
> know whether the requester agent was intending to perform wsdl:operation 
> getStockQuote or wsdl:operation getStockQuoteGoldPayingCustomer, since they 
> both use the same input schema (schema1)?  The short answer is: That is the 
> application's problem -- not the WSDL 2.0 specification's problem.

8-O

> The bottom line is that the provider agent receives whatever information it 
> receives.  What it chooses to *do* with that information (aside from 
> sending back a message conforming to schema2) is entirely beyond the scope 
> of the WSDL 2.0 specification.  And if the provider agent doesn't receive 
> enough information to know what the requester agent wanted, then it is out 
> of luck: whoever designed the service should have designed it differently.
> 
> In short, the WSDL documents above say nothing about what actual operation 
> the provider agent will perform.  You need to know the application 
> semantics to determine that.
> 
> Does this address your concern?

As much as I think this is a really bad idea as well as counter to how
WSDL is being used, yes, if this is explained in the normative part of
the specification then I would consider the issue closed.

I expect that I'd have to raise new issues as a result of such an
addition to the spec, but I'm happy to do that in response to the last
call WD.

Cheers,

Mark.
-- 
Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca

Received on Monday, 14 June 2004 23:12:56 UTC