Introduction to WSDL
You can think of WSDL as the Empire Strikes Back of Web Services. SOAP forms the foundation, UDDI gives you the payoff, but WSDL is essentially an intermediate technology that provides the missing link between the two. Nevertheless, it is a critical technology in its own right, even though it doesn’t deserve its own chapter separate from UDDI.
As explained in Chapter 15, “Web Services Building Blocks: SOAP,” SOAP uses name-spaces to create self-describing messages. Therefore, it should be possible for SOAP mes-sages to provide the information needed to access the content of a message. However, there is no way to determine the name and type of each function parameter using SOAP, so you’re stuck in a catch-22: There’s no way to call a function with a SOAP message unless you already know about the function.
In the early days of SOAP, as well as its precursor XML-RPC (touched upon in Chapter 15), several languages sprang up that addressed this missing piece of the SOAP puzzle, including WebMethod’s Web Interface Definition Language (WIDL), Microsoft’s SOAP Contract Language (SCL) and Discovery of Web Services (DISCO), and IBM’s Network Accessible Service Specification Language (NASSL). Then the UDDI Consortium of dozens of companies, headed up by IBM, Microsoft, and Ariba, began the process of hammering out the UDDI specification. It was readily apparent that there needed to be one language for describing Web Services—thus, WSDL was born, combining much of the benefits of its predecessors.