Whats New in WSDL 2.0

What's New in WSDL 2.0
by Arulazi Dhesiaseelan |

Stock Quote Service Description in WSDL 1.1 & WSDL 2.0

In this section, you can have a preview of a simple stock quote service which is described using WSDL 1.1 and WSDL 2.0. Listing 2 shows the XML schema types that are used in the describing stock quote service. Listing 3 and 4 shows the stock quote service interface definition in WSDL 1.1 and WSDL 2.0 respectively. Listing 5 and 6 shows the stock quote service implementation definition in WSDL 1.1 and WSDL 2.0 respectively.

http://example.com/stockquote/stockquoteV11.xsd

<?xml version="1.0"?>

<schema targetNamespace="http://example.com/stockquote/schemas"

       

xmlns="http://www.w3.org/2000/10/XMLSchema">

    <element name="TradePriceRequest">

        <complexType>

            <all>

                

<element name="tickerSymbol" type="string"/>

            </all>

        </complexType>

    </element>

    <element name="TradePrice">

        <complexType>

            <all>

                

<element name="price" type="float"/>

            </all>

        </complexType>

    </element>

</schema>

http://example.com/stockquote/stockquoteV20.xsd

<?xml version="1.0"?>

<schema targetNamespace="http://example.com/stockquote/schemas"

       

xmlns="http://www.w3.org/2001/XMLSchema">

    <element name="TradePriceRequest">

        <complexType>

            <all>

                

<element name="tickerSymbol" type="string"/>

            </all>

        </complexType>

    </element>

    <element name="TradePrice">

        <complexType>

            <all>

                

<element name="price" type="float"/>

            </all>

        </complexType>

    </element>

</schema>

Listing 2: XML Schema definition for Stock Quote Service



http://example.com/stockquote/stockquoteV11.wsdl

<?xml version="1.0"?>

<definitions name="StockQuote"

targetNamespace="http://example.com/stockquote/definitions"

          

xmlns:tns="http://example.com/stockquote/definitions"

          

xmlns:xsd1="http://example.com/stockquote/schemas"

          

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

          

xmlns="http://schemas.xmlsoap.org/wsdl/">

   

<import namespace="http://example.com/stockquote/schemas"

           

location="http://example.com/stockquote/stockquoteV11.xsd"/>

    

<message name="GetLastTradePriceInput">

        

<part name="body" element="xsd1:TradePriceRequest"/>

    </message>

    

<message name="GetLastTradePriceOutput">

        

<part name="body" element="xsd1:TradePrice"/>

    </message>

    

<portType name="StockQuotePortType">

        

<operation name="GetLastTradePrice">

           

<input message="tns:GetLastTradePriceInput"/>

           

<output message="tns:GetLastTradePriceOutput"/>

        </operation>

    </portType>

</definitions>

Listing 3: WSDL 1.1 Interface definition for Stock Quote Service



http://example.com/stockquote/stockquoteV20.wsdl

<?xml version="1.0"?>

<definitions name="StockQuote"

targetNamespace="http://example.com/stockquote/definitions"

          

xmlns:tns="http://example.com/stockquote/definitions"

          

xmlns:xsd1="http://example.com/stockquote/schemas"

          

xmlns:soap="http://www.w3.org/2003/11/wsdl/soap12"

          

xmlns="http://www.w3.org/2003/11/wsdl">

   

<import namespace="http://example.com/stockquote/schemas"

           

location="http://example.com/stockquote/stockquoteV20.xsd"/>

   

<types>

                

<schema targetNamespace="http://example.com/stockquote/definitions">

                                

<element name="GetLastTradePriceInput" type="xsd1:TradePriceRequest"/>

                                

<element name="GetLastTradePriceOutput" type="xsd1:TradePrice"/>

                </schema>

   </types>

    

<interface name="StockQuoteInterface">

        

<operation name="GetLastTradePrice" pattern="http://www.w3.org/2003/11/wsdl/in-out">

           

<input message="tns:GetLastTradePriceInput"/>

           

<output message="tns:GetLastTradePriceOutput"/>

        </operation>

    </interface>

</definitions>

Listing 4: WSDL 2.0 Interface definition for Stock Quote Service



http://example.com/stockquote/stockquoteserviceV11.wsdl

<?xml version="1.0"?>

<definitions name="StockQuote"

targetNamespace="http://example.com/stockquote/service"

          

xmlns:tns="http://example.com/stockquote/service"

          

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

          

xmlns:defs="http://example.com/stockquote/definitions"

          

xmlns="http://schemas.xmlsoap.org/wsdl/">

   

<import namespace="http://example.com/stockquote/definitions"

           

location="http://example.com/stockquote/stockquoteV11.wsdl"/>

    

<binding name="StockQuoteSoapBinding" type="defs:StockQuotePortType">

        

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

        

<operation name="GetLastTradePrice">

           

<soap:operation soapAction="http://example.com/GetLastTradePrice"/>

           <input>

               

<soap:body use="literal"/>

           </input>

           <output>

               

<soap:body use="literal"/>

           </output>

        </operation>

    </binding>

    <service name="StockQuoteService">

        

<documentation>My first service</documentation>

        

<port name="StockQuotePort" binding="tns:StockQuoteBinding">

           

<soap:address location="http://example.com/stockquote"/>

        </port>

    </service>

</definitions>

Listing 5: WSDL 1.1 Implementation definition for Stock Quote Service



http://example.com/stockquote/stockquoteserviceV20.wsdl

<?xml version="1.0"?>

<definitions name="StockQuote"

targetNamespace="http://example.com/stockquote/service"

          

xmlns:tns="http://example.com/stockquote/service"

          

xmlns:wsoap="http://www.w3.org/2003/11/wsdl/soap12"

          

xmlns:defs="http://example.com/stockquote/definitions"

          

xmlns="http://www.w3.org/2003/11/wsdl">

   

<import namespace="http://example.com/stockquote/definitions"

           

location="http://example.com/stockquote/stockquoteV12.wsdl"/>

    

<binding name="StockQuoteSoapBinding" interface="defs:StockQuoteInterface">

        

<wsoap:binding protocol="http://www.w3.org/2003/11/wsdl/http"/>

        

<operation name="GetLastTradePrice">

           

<wsoap:operation soapAction="http://example.com/GetLastTradePrice"/>

           <input>

               <wsoap:body/>

           </input>

           <output>

               <wsoap:body/>

           </output>

        </operation>

    </binding>

    <service name="StockQuoteService">

        

<documentation>My stock quote service</documentation>

        

<endpoint name="StockQuoteEndPoint" binding="tns:StockQuoteSoapBinding">

           

<wsoap:address location="http://example.com/stockquote"/>

        </endpoint>

    </service>

</definitions>

Listing 6: WSDL 2.0 Implementation definition for Stock Quote Service

Summary

In this article I have explained some details of the working draft WSDL 2.0 specifications. Discussions are happening in this working group for adding more features to the existing specification in order to provide a highly flexible and robust language for describing web services. Some of the features include web service references, versioning, attributes, and compositors. In addition to these new features, further refinements are made to the existing specification. The developer community is anticipating a more stable version of WSDL 2.0 specification in the near future.

Prev  [1] [2] [3] 

Close    To Top
  • Prev Article-XML:
  • Next Article-XML:
  • Now: Tutorial for Web and Software Design > XML > Web Service > XML Content
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Geek Tutorial
     

    Blogging Tutorial

      RSS Tutorial
      Podcasting Tutorial
    Graphic Design Tutorial
      Coreldraw Tutorial
      Illustrator Tutorial
      3D Tutorials
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial/ Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial/ Articles
     

    XML Style

      AJAX Tutorial
      XML Mobile
    Flash Tutorial/ Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial/ Articles
      Linux Tutorial
      Symbian Tutorial
      MacOS Tutorial
    Personal Tech
      Hardware Tutorial
      Software Tutorial
      Online Auction