- Web Services Description Language
Infobox file format
name = Web Services Description Language
icon =
logo =
extension = .wsdl
mime = application/wsdl+xml
type code =
uniform type =
magic =
owner = [http://www.w3.org/ World Wide Web Consortium]
genre =
contained by =XML
container for =
extended from =
extended to =
standard = [http://www.w3.org/TR/wsdl20/ 2.0 Recommendation]The Web Services Description Language (WSDL, pronounced 'wiz-dəl' or spelled out, 'W-S-D-L') is an
XML -based language that provides a model for describingWeb service s.The current version of the specification is 2.0; version 1.1 has not been endorsed by the W3C but version 2.0 is a
W3C recommendation . [cite web |url=http://www.w3.org/TR/wsdl20/ |title=Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language |accessdate=2007-06-27] WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the HTTP request methods (not only GET and POST as in version 1.1) WSDL 2.0 specification offers better support for RESTful web services, and is much simpler to implement [cite web |url=http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#_http_binding_default_rule_method |title=Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts] [cite web |url=http://www.pacificspirit.com/blog/2005/05/16/witw_wsdl_20_http_binding |title=WITW WSDL 2.0 HTTP Binding] .However support for this specification is still poor in software development kits for Web Services which often offer tools only for WSDL 1.1.The WSDL defines services as collections of network endpoints, or ports. The WSDL specification provides an
XML format for documents for this purpose.The abstract definition of ports and messages are separated from their concrete use or instance, allowing the reuse of these definitions. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Messages are abstract descriptions of the data being exchanged, and port types are abstract collections of supported operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding, where the operations and messages are then bound to a concrete network protocol and message format. In this way, WSDL describes the public interface to the web service.WSDL is often used in combination with
SOAP and XML Schema to provide web services over theInternet . A client program connecting to a web service can read the WSDL to determine what functions are available on the server. Any specialdatatypes 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 functions listed in the WSDL.XLang is an extension of the WSDL such that "an XLANG service description is a WSDL service description with an extension element that describes the behavior of the service as a part of a business process" [http://xml.coverpages.org/xlang.html] .
Resources or services are exposed using WSDL by both
Web Services Interoperability (WS-I Basic Profile ) and WSRF framework.Example WSDL file
Here is an example of a structured WSDL 2.0 document:
WSDL History
WSDL 1.0 (Sept. 2000) has been developed by IBM, Microsoft and Ariba to describe Web Services for their SOAP toolkit. WSDL 1.1, published on March-2001, is the formalization of WSDL 1.0. No major changes were introduced between 1.0 and 1.1. WSDL 1.2 (June 2003) is still a working draft at W3C. According to W3C: WSDL 1.2 is easier and more flexible for developers than the previous version. WSDL 1.2 attempts to remove non-interoperable features and also defined the better HTTP 1.1 binding. WSDL 1.2 was not supported by most of the SOAP servers/vendors. WSDL 2.0 became a W3C recommendation on June 2007. WSDL 1.2 was actually renamed to WSDL 2.0 because it has substantial differences with WSDL 1.1. The changes are:
*Adding further semantics to the description language
*Removal of message constructs
*No support for operator overloading
*PortTypes renamed to interfaces
*Ports renamed to endpoints.WSDL Viewers
* Liquid Xml
* Improve WSDL viewer for EclipseReferences
External links
* [http://www.w3.org/TR/wsdl WSDL 1.1 Specification]
* [http://www.w3.org/TR/wsdl20-primer/ WSDL 2.0 Specification Part 0: Primer (Latest Version)]
* [http://www.w3.org/TR/wsdl20/ WSDL 2.0 Specification Part 1: Core (Latest Version)]
* [http://www.w3.org/TR/wsdl20-adjuncts/ WSDL 2.0 Specification Part 2: Adjuncts (Latest Version)]
* [http://www.w3.org/2002/ws/desc/ Web Services Description Working Group]
* [http://www.w3.org/2000/xp/ XML protocol activity]
* [http://www.jcp.org/en/jsr/detail?id=110 JSR-110: Java APIs for WSDL]
* [http://jcp.org/en/jsr/detail?id=172 JSR 172: Java ME Web Services Specification]
* [http://www.validwsdl.com/ Online WSDL Validator]
* [http://www.w3schools.com/wsdl/default.asp W3Schools WSDL tutorial]
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMapsForWSDL WSDL programmatic visualization with Linguine Maps]
* [http://www.ssdl.org/overview.html SSDL - The SOAP Service Description Language]
* [http://api.google.com/GoogleSearch.wsdl Google Search WSDL example]
* [http://xmlbeans.googlepages.com/ WSDL Java Bindings] for XMLBeans and JAXB.
* [http://www.w3.org/2002/ws/desc/ Web Services Description Group]
Wikimedia Foundation. 2010.