0% found this document useful (0 votes)
84 views24 pages

WSDL Web Services Description Language: Neet Wadhwani University of Colorado 3 October, 2001

WSDL Web Services Description Language Neet Wadhwani University of Colorado 3rd October, 2001 Overview Introduction Definitions Working of WSDL SOAP Binding HTTP GET & POST Binding MIME Binding References Introduction WSDL is an XML language that contains information about the interface semantics and µadministrivia¶ of a call to a Web Service Once you develop a Web Service you publish its description and a link to it in a UDDI repository so that potential users can

Uploaded by

Farooq Mohammed
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views24 pages

WSDL Web Services Description Language: Neet Wadhwani University of Colorado 3 October, 2001

WSDL Web Services Description Language Neet Wadhwani University of Colorado 3rd October, 2001 Overview Introduction Definitions Working of WSDL SOAP Binding HTTP GET & POST Binding MIME Binding References Introduction WSDL is an XML language that contains information about the interface semantics and µadministrivia¶ of a call to a Web Service Once you develop a Web Service you publish its description and a link to it in a UDDI repository so that potential users can

Uploaded by

Farooq Mohammed
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

WSDL

Web Services Description


Language

Neet Wadhwani
University of Colorado
3rd October, 2001
Overview

 Introduction
 Definitions
 Working of WSDL
 SOAP Binding
 HTTP GET & POST Binding
 MIME Binding
 References
Introduction
 WSDL is an XML language that contains
information about the interface semantics and
‘administrivia’ of a call to a Web Service
 Once you develop a Web Service you publish
its description and a link to it in a UDDI
repository so that potential users can find it
 When someone wants to use your service,
they request the WSDL file in order to find out
the location of the service, the function calls
and how to access them
 Then they use this information in your WSDL
file to form a SOAP request to the computer
Definitions

 Definitions:
- WSDL is an XML-based language used to
define Web Services and describe how to
access them.
- WSLD is an XML format for describing
network services as a set of endpoints
operating on messages containing either
document-oriented or procedure-oriented
information.
Working of WSDL

 
             
                                                                                                                                                                              

Figure 1. A client invoking a Web service.


Working of WSDL contd.

                                                                                                                                                                              

Figure 2. WSDL terminology used for describing Web services.


Working of WSDL (with Java)
contd.
Working of WSDL contd.
 A client can invoke a web service using SOAP, HTTP
GET/POST and MIME.
 WSDL Document Structure
 <definition> - Root element
 <types> - Provides data type definitions
 <message> - Represents the abstract definition of the data
being transmitted
 <portType> - Defines a set of abstract operations
 <binding> - Specifies concrete protocol and data format
specifications for the operations and messages defined by a
particular portType
 <port> - Specifies an address for a binding
 <service> - Used to aggregate a set of related ports.
Namespace
 The XML namespace prefix are used to indicate the
namespace of the element being defined
 All WSDL elements belong to the WSDL namespace,
defined as http://schemas.xmlsoap.org/wsdl/
 For WSDL SOAP binding,
http://schemas.xmlsoap.org/wsdl/soap/
 For WSDL HTTP GET and POST binding,
http://schemas.xmlsoap.org/wsdl/http/
 For WSDL MIME binding,
http://schemas.xmlsoap.org/wsdl/mime/
Service
 A service groups a set of related ports together
 Let is consider an example of a Web Service and the
GetTemperature method as an operation on that
service.
<definitions name=‘weatherservice’
xmlns=‘http://schemas.xmlsoap.org/wsdl/’>
<type>
<xsd:schema … />
</type>
<service name=‘WeatherService’ >

</service>
</definitions>
Port
 A port defines an individual endpoint by specifying a single
address for a binding
<port name=‘WeatherSoapPort’
binding=‘wsdlns:WeatherSoapBinding’ >
<soap:address
location=‘http://localhost/demos/wsdl/devx
pert/weatherservice.asp’ />
</port>
 Each port has a unique name and a binding attribute
 A web service may be accessible on many ports
 A port MUST NOT specify more than one address
 A port MUST NOT specify any binding information other than
address information
Message
 A message is protocol independent
 There is an input or request message, which is sent
from the client to the service, and there is a output or
response message, which is sent back the opposite
way
 Each <message> element contains one or more
<part> elements.
 <part> element corresponds to the parameter or a
return value in the RPC call.
 The part name order reflects the order of the
parameters in the RPC signature.
Message contd.

<message name=‘Weather.GetTemperature’ >


<part name=‘zipcode’ type=‘xsd:string’ />
<part name=‘celsius’ type=‘xsd:boolean’ />
</message>
<message
name=‘Weather.GetTemperatureResponse’ >
<part name=‘Result’ type=‘xsd:float’ />
</message>
Operations and PortType
 Operation defines which message is the input and
which message is the output
 A collection of all operations exposed bythe web
service is called a portType
<portType name=‘WeatherSoapPort’>
<operation name=‘GetTemperature’ parameterOrder=‘zipcode
celsius’>
<input message=‘wsdlns:Weather.GetTemperature’ />
<output
message=‘wsdlns:Weather.GetTemperatureResponse’ />
</operation>
<!– other operations 
</portType>
Operations and PortType
 WSDL has four transmission primitives that an endpoint can
support:
 One-Way – The endpoint receives a message
<wsdl:input>
 Request-response – The endpoint receives a
message and sends a correlated message
<wsdl:input>,<wsdl:output>,<wsdl:fault>
 Solicit-response – The endpoint sends a message and receives
a correlated message
<wsdl:output>, <wsdl:input>, <wsdl:fault>
 Notification – The endpoint sends a message
<wsdl:output>
Binding

 Binding mechanism is used to attach a specific


protocol, data format or structure to an abstract
message , operation or endpoint
 Binding MUST specify exactly one protocol
 Binding MUST NOT specify address information
 Extensibility elements are commonly used to specify
some technology specific binding
<binding name=‘WeatherSoapBinding’
type=‘wsdlns:WeatherSoapPort’ >

</binding>
SOAP Binding

 <soap:binding> - Signifies that the binding is bound to the


SOAP protocol format: Envelope, Header and Body
<binding …>
<soap:binding transport=“uri”? Style=“rpc|document”?>
</binding>
 <soap:operation> - Provides information for the document as a
whole
<binding …>
<operation …>
<soap:operation soapAction=“uri”? Style=“rpc|document”?>
</operation>
</binding>
SOAP Binding contd.

 <soap:body> - Specifies how the message parts


appear inside the SOAP Body element
<input>
<soap:body parts=“nmtokens”? use=“literal|encoded”?
encodingStyle=“uri-list”? Namespace=“uri”?>
</input>
 <soap:fault> - Specifies the contents of the contents
of the SOAP fault
<fault>
<soap:fault name=“nmtoken” use=“literal|encoded”
encodingStyle=“uri-list”? Namespace=“uri”?>
</fault>
SOAP binding contd.
 <soap:header> and <soap:headerfault> - Allow headers to be
defined that are transmitted inside the Header element of the
SOAP Envelope
<input>
<soap:header message=“qname” part=“nmtoken” use=“literal|
encoded”? encodingStyle=“uri-list”? Namespace=“uri”?>
<soap:headerfault message=“qname” part=“nmtoken” use=“literal|
encoded”? encodingStyle=“uri-list”? Namespace=“uri”?>
</input>
 <soap:address> - Used to give a port an address (a URI)
<binding …>
<soap:address location=“uri” />
</binding>
HTTP GET & POST Binding

 <http:address> - Specifies the base URI for the port


 <http:binding> - Indicates that this binding uses the
HTTP protocol
<binding …>
<http:binding verb=“nmtoken” />
</binding>
 <http:operation> - has an attribute that specifies the
relative URI for the operation
<operation …>
<http:operation location=“uri” />
</operation>
HTTP GET & POST Binding contd.

 <http:urlEncoded> - Indicates that all the parts are


encoded into the HTTP request URI using the
standard URI-encoding rules
 <http:urlReplacement> - Indicates that all the
message parts are encoded into the HTTP request
URI using a replacement algorithm
MIME Binding
 <mime:content> - Used if there is no additional
information to convey about the format other than its
MIME type string
<mime:content part=“nmtoken”? Type=“string”? />
 <mime:multipartRelated> - Aggregates an arbitrary set
of MIME formatted parts into one message using the
MIME type “multipart/related”
<mime:multipartRelated>
<mime:part> *
 mime element 
</mime:part>
</mime:multipartRelated>
MIME Binding contd.

 <soap:body> - When using the MIME binding with


SOAP requests, it is legal to use the soap:body
element as a MIME element. It indicates the content
type is “text/xml”, and there is an enclosing SOAP
Envelope
 <mime:mimeXml> - Used to specify a concrete
schema
<mime:mimeXml part=“nmtoken”? />
References

 World Wide Web Consortium


http://www.w3c.org/TR/wsdl
 DevXpert
http://www.devxpert.com/tutors/wsdl/wsdlprint.asp
 Sun Java Website

http://dcb.sun.com/practices/webservices/overviews/
overview_wsdl.jsp

You might also like