- From: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- Date: Thu, 11 Jul 2002 21:28:03 +0600
- To: "Jeffrey Schlimmer" <jeffsch@windows.microsoft.com>, <www-ws-desc@w3.org>
+1. Simplicity is good! Sanjiva. ----- Original Message ----- From: "Jeffrey Schlimmer" <jeffsch@windows.microsoft.com> To: <www-ws-desc@w3.org> Sent: Thursday, July 11, 2002 6:52 AM Subject: Hoisting SOAP Binding Attributes > > In the case where operations are all bound in the same way, the existing > SOAP binding is repetitious. A straightforward way to simplify this for > the common case is to allow the SOAP binding attribute information items > (AII) to be placed as defaults on the soap:binding element information > item (EII) define that AII placed on children of soap:binding would > override the default, and allow the soap:operation EII to be omitted if > they do not override any defaults. > > This is not a proposal to eliminate the ability to define an > operation-by-operation binding; it is only a proposal to simplify the > default case where all operations within a portType are bound the same > way. > > The table below summarizes where WSDL 1.1 defines the SOAP binding AII. > > EII \ AII @style @use @encodingStyle @namespace > -------------------------------------------------------- > soap:binding OK > soap:operation OK[*] > soap:body OK OK OK > soap:header OK OK OK > soap:fault OK OK OK > soap:headerFault OK OK OK > > Where [*] overrides value from parent. > > > The proposal is to change the definition of the SOAP binding AII as > shown in the table below. > > EII \ AII @style @use @encodingStyle @namespace > -------------------------------------------------------- > soap:binding OK OK OK OK > soap:operation OK[*] > soap:body OK[*] OK[*] OK[*] > soap:header OK[*] OK[*] OK[*] > soap:fault OK[*] OK[*] OK[*] > soap:headerFault OK[*] OK[*] OK[*] > > > EXAMPLE > > In the default case, where all the operations are bound the same way, > this should simplify the binding significantly. For example, in WSDL > 1.1, a SOAP rpc/encoded example in WSDL 1.1 would look like: > > <binding name="StockQuoteSoapBinding" > type="tns:StockQuotePortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="rpc" /> > <operation name="GetTradePrice"> > <input> > <soap:body use="encoded" > namespace="http://example.com/stockquote" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </input> > <output> > <soap:body use="encoded" > namespace="http://example.com/stockquote" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> > </output> > </operation> > ... > </binding> > > Where ... has to be repeated for each operation in the portType. > > By contrast, the same example given the proposal would look like: > > <binding name="StockQuoteSoapBinding" > type="tns:StockQuotePortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="rpc" > use="encoded" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://example.com/stockquote" /> > </binding> > > A SOAP document/literal example given the proposal would look like: > > <binding name="StockQuoteSoapBinding" > type="tns:StockQuotePortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document" > use="literal" /> > </binding> > > EOF
Received on Thursday, 11 July 2002 11:29:06 UTC