What are these XML & WSDL acronyms?
The fundamental requirements for a web service are:
- A common format for data representation so that the communication or data exchange should be platform agnostic – XML? JSON?
- A standard specification for sending messages to web service and receiving responses from web services – SOAP? REST?
- A standard format to describe a web service – WSDL?
- A standard for publishing and discovering web services enabling applications to access them – UDDI?
The various requirements described above are based on the open standards such as XML, SOAP, WSDL and UDDI.
What is XML
Since XML (eXtensionable Markup Language) is considered as cross platform standard for transferring data over Internet because it is understand by any hardware and software. The XML also describes the data.
In order to communicate there must be a common protocol to exchange the information. SOAP (Simple Object Access Protocol) is Microsoft implementation, responsible for transporting messages between network applications and includes protocols such as HTTP, HTTPS, SMTP and MIME. It uses the XML for information exchange. The messages received or returned by SOAP are called Request and Response envelopes. These are strictly based on XML and described in WSDL for that web service.
What is a WSDL?
WSDL is a XML format that is used to describe web services.
WSDL (Web Services Description Language) describes, publicly available methods provided by the web service.
I like to think of XML as the webservice information - the Data of the webservice. WSDL is also XML but it describes the webservice itself - WSDL describes what the webservice looks like, how to connect to it.
The information it provides such as the name of methods, parameters passed to the web services and the values it returns. It is a standard for describing the web service methods.
The following are the elements of WSDL.
- definitions: This is the root element and has web service name and its target namespace.
- types: This element defines the data types used by the web services. WSDL uses W3C XML Schema syntax to define data types.
- message: This describes the request and response messages.
- portType: It is most important element of web service. This defines the operations such as the input and output/Request and Response messages involved.
- bindings: In bindings element we define the way messages are transported i.e. binding style and transport protocol.
- documentation: It will provide the brief description of the service.
- UDDI (Universal Description, Discovery and Integration) provides a mechanism for clients to dynamically discover services available. When a service provider wants to make a web service publicly available it registers it in UDDI directory and provides WSDL for describing the web service.