In the previous two chapters, we talked extensively about SOAP and the structure it delivers to web services. Not surprisingly, the adoption of SOAP’s messaging formats brought about a need to describe operational information in an equally structured way. WSDL was introduced to address this need.
WSDL is an XML grammar for describing a web service as a collection of access endpoints capable of exchanging messages in a procedure- or document-oriented fashion. A WSDL document is a recipe used to automate the details involved in application-to-application communication.
On one level, WSDL is not that different from CORBA IDL or Microsoft IDL. They are all used to define the interfaces (method signatures) and datatypes for a discreet piece of programming logic.
On another level, WSDL is an altogether different beast, offering a degree of extensibility that has no parallel in the IDL specification. This extensibility allows WSDL to be used to:
Describe endpoints and their messages, regardless of the message format or network protocol used to exchange them.
Treat messages as abstract descriptions of the data being exchanged.
Treat port types as abstract collections of a web services’ operations. A port type can then be mapped to a concrete protocol and data format.
If you are feeling a bit dazed after reading these bullet items, it’s just the WSDL specification talking! We’ll offer fewer “scientific” definitions as we go along; don’t let ...