A WSDL document is just a simple XML document.
It contains set of definitions to describe a web service.
WSDL breaks down Web services into three specific, identifiable elements that can be combined or reused once defined.
Three major elements of WSDL that can be defined separately and they are:
A WSDL document has various elements, but they are contained within these three main elements, which can be developed as separate documents and then they can be combined or reused to form complete WSDL files.
Following are the elements of WSDL document. Within these elements are further subelements, or parts:
- Definition: element must be the root element of all WSDL documents. It defines the name of the web service, declares multiple namespaces used throughout the remainder of the document, and contains all the service elements described here.
- Data types: the data types – in the form of XML schema or possibly some other mechanism – to be used in the messages
- Message: an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation.
- Operation: the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message
- Port type : an abstract set of operations mapped to one or more end points, defining the collection of operations for a binding; the collection of operations, because it is abstract, can be mapped to multiple transports through various bindings.
- Binding: the concrete protocol and data formats for the operations and messages defined for a particular port type.
- Port: a combination of a binding and a network address, providing the target address of the service communication.
- Service: a collection of related end points encompassing the service definitions in the file; the services map the binding to the port and include any extensibility definitions.
In addition to these major elements, the WSDL specification also defines the following utility elements:
- Documentation: element is used to provide human-readable documentation and can be included inside any other WSDL element.
- Import: element is used to import other WSDL documents or XML Schemas.
NOTE: WSDL parts usually are generated automatically using Web services-aware tools.
The WSDL Document Structure:
A WSDL document describes a web service using these major elements:
|<types>||A container for data type definitions used by the web service|
|<message>||A typed definition of the data being communicated|
|<portType>||A set of operations supported by one or more endpoints|
|<binding>||A protocol and data format specification for a particular port type|
The main structure of a WSDL document looks like this:
<definitions> <types> definition of types........ </types> <message> definition of a message.... </message> <portType> <operation> definition of a operation....... </operation> </portType> <binding> definition of a binding.... </binding> <service> definition of a service.... </service>
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.
Wikipedia for WSDL