Reading:  

A quick overview of WSDL (Web Services Description Language)


What is WSDL?

WSDL

WSDL is XML format for describing network services as a set of endpoints operating on

messages containing either procedure-oriented or document-oriented information. WSDL is derived from IBM's Network Accessible Service Specification Language (NASSL) and Microsoft's Simple Object Access Protocol (SOAP).

Features of WSDL

  • WSDL definitions contains how to access web service and operations it will perform.
  • WSDL is language to describing how to interface with XML-based services.
  • WSDL is integral part of Discovery, Universal Description and Integration (UDDI), an XML-based worldwide business registry.
  • WSDL is language that UDDI uses.

History of WSDL

WSDL 1.1 was submitted as W3C Note by IBM, Ariba, and Microsoft for describing

services for W3C XML Activity on XML Protocols in March 2001.

WSDL 1.1 has not been endorsed by World Wide Web Consortium (W3C), however it has

just released a draft for version 2.0 that will be a recommendation (an official standard) and

thus endorsed by W3C.

Example

Below is HelloWorldService.wsdl example.

<definitions name="HelloWorldService"
   targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
   <message name="HelloRequest">
      <part name="firstName" type="xsd:string"/>
   </message>
     
   <message name="HelloResponse">
      <part name="greetings" type="xsd:string"/>
   </message>
 
   <portType name="Hello_PortType">
      <operation name="sayHello">
         <input message="tns:HelloRequest"/>
         <output message="tns:HelloResponse"/>
      </operation>
   </portType>
 
   <binding name="Hello_Binding" type="tns:Hello_PortType">
      <soap:binding style="rpc"
         transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="sayHello">
         <soap:operation soapAction="sayHello"/>
         <input>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:helloservice"
               use="encoded"/>
         </input>
           
         <output>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:helloservice"
               use="encoded"/>
         </output>
      </operation>
   </binding>
 
   <service name="Hello_Service">
      <documentation>WSDL File for HelloWorldService</documentation>
      <port binding="tns:Hello_Binding" name="Hello_Port">
         <soap:address
            location="http://www.example.com/SayHello/" />
      </port>
   </service>
</definitions>

 

Analysis of Example

 

  • Definitions : HelloWorldService
  • Type: Using built-in data types and are defined in XML Schema.
  • Message :
    sayHelloRequest: firstName parameter
    sayHelloresponse: greeting return value
  • Port Type: sayHello operation that consists of a response and a request service.
  • Binding: Direction to use SOAP HTTP transport protocol.
  • Service : Service hosted at http://www.example.com/SayHello/
  • Port: Associates binding with URI http://www.example.com/SayHello/ where running service can be accessed.

 

 

Description

In this tutorial, you will get a quick overview on WSDL

  • What is WSDL?
  • WSDL Documents
  • Port Type 
  • Binding 

 

 



Learning Objectives

Quickly get to know WSDL

Author: Subject Coach
Added on: 20th Aug 2015

You must be logged in as Student to ask a Question.

None just yet!