WSDL stands for Web Services Description Language and is an XML-based interface description language that is used to describe functionality offered by web services.
The acronym is also used for any specific WSDL description of a web service which provides a machine-readable description of how services can be called, the parameters expected, and any returned data structures.
Note that older versions and references to WSDL might refer to “Definition” where the D is concerned. Today’s WSDL versions refer to “Description”. WSDL descriptions may also be referred to as WSDL files.
A WSDL describes serves as collections of network endpoints, or ports and provides a file in XML format for this purpose. Abstract definitions of ports and messages are separated from their concrete use or instance, allowing their definitions to be reused.
Ports are defined by associating network addresses with a reusable binding, and a collection of ports defines a service. Messages are abstract descriptions of the data being exchanged. Port types are abstract collections of supported operations.
Protocols and data format specifications for specific port types constitute reusable binding where operations and messages are then bound to a concrete network protocol and message format. This is the way WSDL describes the public interface to the web service.
WSDL is often used in combination with SOAP and an XML Schema to provide Web services over the Internet. A client program connecting to a Web service can read the WSDL file to determine what operations are available on the server. Any special datatypes used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the operations listed in the WSDL file, using for example XML over HTTP.