- From: Mark Baker <distobj@acm.org>
- Date: Tue, 20 Apr 2004 12:40:25 -0400
- To: www-ws-desc@w3.org
- Cc: mnot@mnot.net
On Mon, Apr 19, 2004 at 03:19:20PM -0700, David Orchard wrote: > I would think the operation from the application perspective is getStockQuote. Interesting. I've heard recently from the likes of Jim Webber and Savas Parastatidis[1] that this isn't the case (though I'm not suggesting that they would say the answer is "GET" either). I heard similarly from Arthur Ryman last year, that he considered the operationName to be "documentation"[2]. But whatever the concensus position is, it would be good if the spec were clear about it (and/or supported multiple interpretations). Is concensus documented on this point, even if it's not in the spec? I don't think we're going to get very far with respect to the binding issues if this isn't clear. And I don't particularly care which way it goes, I just need a stake in the ground that I can work with. > 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> Hmm. "getStockQuote has the semantics of GET" is what I want too, but it seems we mean it in different ways. I want the operation name to be a label ("documentation", as Arthur says) for a particular class of GET invocations, while leaving it such that the client/application only knows that "GET" occurred. This seems similar to Mark Nottingham's strawman[3], as he states; The nice thing here is that unlike operation name overloading (e.g., name="getFoo"), everything is in extensions; you can still name your operation 'getStatus' or just plain 'Status' if you want to. But I'll CC him in the hope that he can veryify/clarify this for us (I can't recall if he's subscribed). > 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. Ah, now we're talking. 8-) > <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. Yes, you'd need another service/URI for that in the RESTful case. See Mark's strawman again. [1] http://www.sys-con.com/story/?storyid=44354&DE=1 [2] http://lists.w3.org/Archives/Public/www-ws-desc/2003Mar/0065.html [3] http://www.mnot.net/blog/2004/04/14/rest_in_wsdl Mark. -- Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca
Received on Tuesday, 20 April 2004 12:41:07 UTC