10. Web Services Description Language

 

 

July 09, 2002, http://www.w3.org/TR/wsdl12/ - The World Wide Web Consortium (W3C) announced the publication of initial working draft specifications for Web Services Description Language (WSDL) Version 1.2 and Web Services Description Language (WSDL) Version 1.2: Bindings. In the introduction section of this document, it explain what is WSDL: “… WSDL describes Web services starting with the messages that are exchanged between the service provider and requestor. The messages themselves are described abstractly and then bound to a concrete network protocol and message format. A message consists of a collection of typed data items. An exchange of messages between the service provider and requestor are described as an operation. A collection of operations is called a portType. Collections of portTypes are grouped and called a serviceType. A service represents an implementation of a serviceType and contains a collection of ports, where each port is an implementation of a portType, which includes all the concrete details needed to interact with the service.”

 

What is WSDL?

 

WSDL for describing a Web Service of a message exchange using XML-based contract

 

 

WSDL Usage Scenarios, http://www.w3.org/TR/ws-desc-usecases

Messaging

Specifications
Service References
Meta Data
Miscellaneous

 

WSDL Requirements, http://www.w3.org/TR/sw-desc-reqs/

 

 

Web Services Description Language (WSDL) Specification

 

WSDL Document Syntax Defines 6 kinds of Component

Root - WSDL Definition Element with five types of child elements

 

WSDL Root and Child Elements

 

 

Example: A SubscribeToQuotes SOAP 1.1 one-way message, a StockQuote Service via SMTP Binding, cited from http://www.w3.org/TR/wsdl12-bindings/

 

Example: A GetTradePrice SOAP 1.1 RPC requests StockQuote Service via HTTP Binding, cited from http://www.w3.org/TR/wsdl12-bindings/

 

Example: A GetTradePrice SOAP 1.1 requests StockQuote Service via HTTP Binding, cited from http://www.w3.org/TR/wsdl12-bindings/

 

Example: A Web Services Example: Calculator with Multiply and Divide Methods

 

<?xml version="1.0" encoding="utf-8"?>

<definitions targetNamespace="http://domain_name/Calculator/wsdl"

xmlns:tns="http://domain_name/Calculator/wsdl"

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

xmlns:s="http://domain_name/Calculator/schema"

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

<!-- Definitions Go Here -->

 

      <types>

      <schema attributeFormDefault="qualified"

       elementFormDefault="qualified"

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

       targetNamespace="http://domain_name/Calculator/schema">

            <element name="Multiply">

                  <complexType>

                  <all>

                        <element name="x" type="int"/>

                        <element name="y" type="int"/?

                  </all>

                  </complexType>

            </element>

            <element name="ProductResult">

                  <complexType>

                  <all>

                        <element name="result" type="int"/>

                  </all>

            </element>

      </types>

<!-- Some More Definitions GO Here -->

 

</definitions>

 

 

Web Resources

 

Web Service Description Working Group: http://www.w3.org/2002/ws/desc/

WSDL Tutorials

Applications

WebCam Web services (C# , Java, etc)

Demos

 

Radio Services

Vendors

Issues

Technical Articles