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 free 30-day trial today!
Click to see a demo!
Learn what’s new in v2008
 |
|
Get Your Diploma!
W3Schools' Online Certification Program is the perfect solution for busy
professionals who need to balance work, family, and career building.
The HTML Certificate is for developers who want to document their knowledge of HTML, XHTML, and CSS.
The ASP Certificate is for developers who want to document their knowledge of ASP, SQL, and ADO.
|
|