WSDL (which stands for Web Services Definition Language or Web Services Description Language) is an XML-based language for describing web services as well as how to locate web services. WSDL is a W3C (web standardization organization) recommendation. The term WSDL is often used to mean the description of a specific web service, as in, "The WSDL for that web service describes three web service methods," or referring generically to a document implemented in WSDL.

The WSDL document describes a web service using four major elements:

  1. <types> - a description of the data elements and type(s) used by the web service;
  2. <message> - a description of the data elements used by each operation available in the web service;
  3. <portType> - a description of the operations performed by the web service; and
  4. <binding> - a description of the message format and communication protocols used for each port described in the <portType> section.

In the RPC pattern, the <portType> element describes the functions, or methods, that are available in the web service; the <message> section describes the input and output parameters; and the <types> section describes those parameters. It is not unusual for RPC pattern WSDLs to be derived from underlying functions in standard programming languages, the so-called bottom-up approach. In Xcentrisity Business Information Server, this capability is included and is described in detail in the next section.

In the document-based pattern, WSDLs are often developed by the architects of the system using a top-down approach, before any implementation of the service or the clients of the service. The documents that are exchanged are typically designed before the WSDLs that use them; these documents are described using XML Schema, another XML-based language used to describe XML documents. (The <types> section of a WSDL is actually an embedded XML Schema document. WSDL has an import capability that allows importation of externally defined XML Schema documents.)