What Is WSDL?: Web Services
What Is WSDL?: Web Services
What Is WSDL?: Web Services
What is WSDL?
WSDL stands for Web Services Description Language
WSDL is written in XML - it is an XML-based language
WSDL is an XML document
WSDL is used to describe Web services (ie. the operations (or methods) the service
exposes)
WSDL is also used to locate Web services
WSDL is not yet a W3C standard
Network services are described as a set of endpoints which operate on messages containing
either document-oriented or procedure-oriented information. The operations and messages are
described abstractly, and then bound to a concrete network protocol and message format to
define an endpoint. Related concrete endpoints are combined into abstract endpoints (services).
WSDL is extensible to allow description of endpoints and their messages regardless of what
message formats or network protocols are used to communicate; typical bindings might be to
SOAP 1.1, HTTP GET/POST, and MIME.
<message> The <message> element defines the data elements of an operation. Each messages can consist of one or more parts.
<types> The <types> element defines the data types that are used by the web service. For maximum platform neutrality, WSDL use
types.
<binding> The <binding> element defines the message format and communication protocol details for each port. It links the port type
<definitions>
<types>
definition of types........
</types>
<message>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
</definitions>
A WSDL document can also contain other elements, like extension elements and a service
element that makes it possible to group together the definitions of several web services in one
single WSDL document.
WSDL Example
This is a simplified fraction of a WSDL document:
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
In this example the portType element defines "glossaryTerms" as the name of a port, and
"getTerm" as the name of an operation.
The "getTerm" operation has an input message called "getTermRequest" and an output
message called "getTermResponse".
The message elements defines the parts of each message and the associated data types.
WSDL is also used for resource discovery by machines wanting to know what services are "out
there" to use.
So, in summary, WSDL provides request validation, describes methods and can be used for
resource discovery.
The OMII Client validates what it sends and what it gets back using WSDL. It is not essential
that a copy of the WSDL documents are also on client but it is easier for the client to have its
own trusted copy; this copy matches the copy on the server.