WSDL Documents
A WSDL document is just a simple XML document.
It contains set of definitions to describe a web service.
The WSDL Document Structure
A WSDL document describes a web service using these major elements:
Element |
Defines |
<portType> |
The operations performed by the web service |
<message> |
The messages used by the web service |
<types> |
The data types used by the web service |
<binding> |
The communication protocols used by the web service |
The main structure of a WSDL document looks like this:
<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.
For a complete syntax overview go to the chapter WSDL Syntax.
WSDL Ports
The <portType> element is the most important WSDL element.
It describes a web service, the operations that can be performed, and the messages that are involved.
The <portType> element can be compared to a function library (or a module, or a class)
in a traditional programming language.
WSDL Messages
The <message> element defines the data elements of an operation.
Each message can consist of one or more parts. The parts can be compared
to the parameters of a function call in a traditional programming language.
WSDL Types
The <types> element defines the data type that are used by
the web service.
For maximum platform neutrality, WSDL uses XML Schema
syntax to define data types.
WSDL Bindings
The <binding> element defines the message format and protocol details
for each port.
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 define the parts of each message and
the associated data types.
Compared to traditional programming, glossaryTerms is a function library, "getTerm"
is a function with "getTermRequest" as the input parameter and getTermResponse as
the return parameter.
Whether you're new to XML or already an advanced user, the user-friendly views
and powerful entry helpers, wizards, and debuggers in XMLSpy are designed to
meet your XML and Web services development needs from start to finish.
- XML editor
- Graphical XML Schema / DTD editors
- XSLT 1.0/2.0 editor, debugger, profiler
- XQuery editor, debugger, profiler
- Support for Office Open XML (OOXML)
- Graphical WSDL editor & SOAP debugger
- Java, C#, C++ code generation
- And much more!
Download a fully functional free 30-day trial today!
|