W3C home > Mailing lists > Public > www-ws-desc@w3.org > April 2004

RE: Which operation?

From: David Orchard <dorchard@bea.com>
Date: Mon, 19 Apr 2004 15:19:20 -0700
Message-ID: <32D5845A745BFB429CBDBADA57CD41AF06D1663E@ussjex01.amer.bea.com>
To: "Mark Baker" <distobj@acm.org>, <www-ws-desc@w3.org>

I would think the operation from the application perspective is getStockQuote.  It could be serialized on the wire as HTTP GET with some magic schema1 to URI binding as you suggest, or a POST of some new "QUERY" operation, or a SOAP operation with an input and output.  The way you would tell is from the binding.

What I think would be quite useful is to have the getStockQuote also say that getStockQuote has the semantics of GET for use in the binding layer, ie

     <wsdl:interface name="StockQuotes">
         <wsdl:operation name="getStockQuote" wsdl:webMethod="GET">
             <wsdl:input element="schema1"/>
             <wsdl:output element="schema2"/>
         </wsdl:operation>
     </wsdl:interface>

I think the binding will have some syntax to bind the name to the GET in some way, ie 

     <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>

Now another approach is to model the getStockQuote simply as GET, ie.

         <wsdl:operation wsdl:webMethod="GET">
             <wsdl:input element="schema1"/>
             <wsdl:output element="schema2"/>
         </wsdl:operation>

But then an application can't really identify the operation when there are more than 1, like if the GoldPayingCustomer was added.  Having a WSDL defined name to identify the operation is a good thing for this and other reasons.

Cheers,
Dave
> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]On
> Behalf Of Mark Baker
> Sent: Monday, April 19, 2004 8:57 AM
> To: www-ws-desc@w3.org
> Subject: Which operation?
> 
> 
> 
> Hi,
> 
> I've finally got a bit of time on my hands (arguably the only 
> upside of
> stomach flu), and wanted to follow up with Hugo, Dave, etc.. on the
> desribing-RESTful-services thread.  But I found myself needing some
> clarification first.
> 
> If, using the following WSDL, we had a WSDL operation bound 
> to HTTP GET,
> and we sent a message containing a document conformant with 
> schema1, and
> received a successful response including the contents of schema2, what
> was the operation that was invoked?  "GET" or "getStockQuote"?
> 
>     <wsdl:interface name="StockQuotes">
>         <wsdl:operation name="getStockQuote">
>             <wsdl:input element="schema1"/>
>             <wsdl:output element="schema2"/>
>         </wsdl:operation>
>     </wsdl:interface>
> 
> I've been told that wsdl:operation is just documentation, which is
> exactly how I see it too (which would suggest that "GET" was the
> operation that was invoked).  But so much of what WSDL is 
> used for today
> doesn't use it that way, and from what I can tell, there's no way to
> tell which interpretation a given WSDL document is using.  FWIW, this
> also relates to Umit's operationName work as well as my previous issue
> about "ambiguous interface semantics".
> 
> Thanks.
> 
> Mark.
> -- 
> Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca
> 
> 
Received on Monday, 19 April 2004 18:19:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:30 GMT