- From: Jean-Jacques Moreau <moreau@crf.canon.fr>
- Date: Tue, 02 Apr 2002 09:49:10 +0200
- CC: www-ws-desc@w3.org
FYI, I came across Alexsander's original message [1] when looking for WSDL issues beyond those listed at [2]. Alexsander's original message was posted on the XML Protocol mailing list in October 2000. Jean-Jacques. [1] http://lists.w3.org/Archives/Public/xml-dist-app/2000Oct/0000.html [2] http://wsdl.soapware.org/ Aleksander Slominski wrote: > hi, > > it is over a year since we had this problem proposed a solution. > > however in our current thinking interoperability and conformance to standards is the most important so > instead of trying to convince other people about merits of simple data model for WSDL we just decided > to support WSDL 1.1 XML format as transport format > > internally this kind of model simple object model is still used and i think also that similar models > are used inside most of WSDL toolkits (such as WSDL4J) so having model directly serializable into SOAP > encoding would have some value but IMHO it is not enough new value ... > > thanks, > > alek > > ps. also such XML as described below should be XSLT compatible with WSDL so the differences are more of > representation than of semantics but i did not think about those issues for long time ... > > Jean-Jacques Moreau wrote: > > > Alexsander, > > > > I you are still interested in this topic, you may want to repost your message on the public W3C Web > > Service Definition Working Group mailing list[1]. The WSD WG[2] was created ealier this year. > > > > Regards, > > > > Jean-Jacques Moreau. > > > > [1] mailto:www-ws-desc@w3.org > > [2] http://www.w3.org/2002/ws/desc/ > > > > > hi, > > > > > > i would like to propose alternative format for WSDL that is SOAP compatible. > > > both representation would be equivalent and conversion should be fairly easy > > > (for example by using XSLT). > > > > > > key benefit of using SOAP as encoding is to create standard mapping of WSDL > > > construction into objects (SOAP structs and arrays). it means that there is > > > no need to deal with DOM, namespaces or XSLT to process WSDL document > > > instance and SOAP can transparently use multi-ref serialization to express > > > equivalence of objects or even href to dynamically link remote to objects. > > > > > > wsdl-soap is alternative format that is using very simple object model that allows > > > to serialize WSDL Service object with SOAP encoding > > > > > > Service > > > String name > > > Port[] ports > > > Port > > > String name > > > Binding binding /*defining as bindings[] would allow port to have multiple bindings!*/ > > > PortType portType > > > Binding > > > String name > > > OperationBinding operationBindings[] > > > OperationBinding > > > String name > > > MessageBinding input > > > MessageBinding output > > > NamedMessageBinding faults[] > > > NamedMessageBinding > > > String name > > > MessageBinding messageBinding > > > MessageBinding > > > String name > > > PortType > > > String name > > > Operation operations[] > > > Operation > > > Message input > > > String inputName > > > Message output > > > String outputName > > > NamedMessage faults[] > > > NamedMessage > > > String name > > > Message message > > > Message > > > Part parts[] > > > Part > > > String name > > > QName element > > > QName type > > > > > > i am using inheritance to express extensibility, for example it is possible > > > to define SOAP bindings as: > > > > > > SoapPort extends Port > > > String location > > > SoapBinding extends Binding > > > String style > > > String transport > > > SoapOperationBinding extends OperationBinding > > > String soapAction > > > SoapMessageBinding extends MessageBinding > > > String use > > > String namespace > > > String encodingStyle > > > > > > rewriting Example 4 from WSDL specification in WSDL-SOAP alternative format > > > would give: > > > > > > <ws:Service xmlns:ws="http://temp.uri/wsdl-soap/> > > > <name>StockQuoteService</name> > > > <ports SOAP-ENC:arrayType="ws:Port[1]"> > > > <item xsi:type='ws:SoapPort'> > > > <name>StockQuotePort</name> > > > <location>http://example.com/stockquote> > > > <binding xsi:type="ws:SoapBinding"> > > > <name>StockQuoteSoapBinding</name> > > > <style>rpc</style> > > > <transport>http://schemas.xmlsoap.org/soap/http> > > > <operationBindings SOAP-ENC:arrayType="ws:OperationBinding[1]"> > > > <item xsi:type='ws:SoapOperationBinding'> > > > <name>GetLastTradePrice</name> > > > <soapAction>http://example.com/GetLastTradePrice> > > > <input xsi:type="ws:SoapBinding> > > > <use>encoded</use> > > > <namespace>http://example.com/stockquote> > > > <encodingStyle>http://schemas.xmlsoap.org/soap/encoding/> > > > </input> > > > <output xsi:type="ws:SoapBinding> > > > <use>encoded</use> > > > <namespace>http://example.com/stockquote> > > > <encodingStyle>http://schemas.xmlsoap.org/soap/encoding/> > > > </input> > > > </item> > > > </operationBindings> > > > </binding> > > > <portType href="http://example.com/stockquote.wsdl#StockQuotePortType"/> > > > </item> > > > </ports> > > > </ws:Service> > > > > > > and equivalent example in WSDL > > > > > > <service name="StockQuoteService"> > > > <documentation>My first service</documentation> > > > <port name="StockQuotePort" binding="tns:StockQuoteBinding"> > > > <soap:address location="http://example.com/stockquote"/> > > > </port> > > > </service> > > > > > > <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> > > > <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> > > > <operation name="GetLastTradePrice"> > > > <soap:operation soapAction="http://example.com/GetLastTradePrice"/> > > > <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> > > > > > > i welcome any comments on this approach. > > > > > > best regards, > > > > > > alek > > > > > > p.s. one possible extension of WSDL is to allow defining multiple bindings[] > > > in Port object. it will allow to have multiple protocols for port - very nice > > > way to express services capable of fail-over (also beneficial for performance) > > > -- > > > Aleksander Slominski, LH 316, IU, http://www.extreme.indiana.edu/~aslom > > > As I look afar I see neither cherry Nor tinted leaves Just a modest hut > > > on the coast In the dusk of Autumn nightfall - Fujiwara no Teika (1162-1241)
Received on Tuesday, 2 April 2002 02:51:01 UTC