How does a WSDL

WSDL tutorial: Web Service Description Language explained

When working with web services, various techniques play a major role. In addition to SOAP and REST, this is primarily the description language WSDL. This describes the functions of a web service so that other network participants can also use the services. How does the language work, what exactly do you need the WSDL file for and what connections are there to other languages?

What does WSDL mean?

WSDL stands for Web Service Description Language. It is therefore a metalanguage with which web services can be comprehensively described. A web service, in turn, is a service that a server makes available to clients via the Internet (or another network). This works independently of the platform - i.e. between a wide variety of systems and applications. A WSDL file is available on the server so that a client can find out about the possibilities and procedures of the web service. From the details conveyed in the file, the client knows how to call the web service.

WSDL builds on the Extensible Markup Language (XML) or the XML schema (XSD). That means: XML elements are used in WSDL.

WSDL is standardized by the World Wide Web Consortium (W3C).

Structure and properties of WSDL

WSDL is used to describe web services abstract and concrete descriptions. While the abstract description relates to the functional scope of the service, the concrete description provides clear facts such as the transmission protocol. The document (i.e. the WSDL file) has a hierarchical structure. Information is therefore shown nested.

WSDL takes six main elements from XML:

  • types: Data types
  • messages: Description of the data to be transferred
  • interface: abstract operations that describe the communication between server and client (was called in an older version of the standard portType)
  • binding: Information about the transport protocol used
  • endpoint: Information about the communication interface, usually in the form of a URI (was called in an older version of the standard port)
  • service: Access points of the web service

If you fill in all the elements in the file, the client receives all the information it needs to use the web service. This is precisely why a web service is platform-independent, because the different systems receive the common language through the WSDL file.

WSDL example

We will now take a closer look at the structure of a WSDL file using an example. The following code is intended for a web service that returns a simple "Hello World".


In the source code example you can see the individual components of a WSDL file. After an initial introduction, which also contains a reference to WSDL and XSD, the abstract descriptions follow types, messages and interface. The second half finally consists of the concrete descriptions, whereby endpoint in service is incorporated.

Similar articles

Microservice architectures: more than the sum of their parts?

With microservice architectures, a relatively new way of structuring complex applications has established itself. Instead of releasing a huge source code monster, you build a program from many self-contained services. Associated with this is a restructuring of the work processes in terms of agile project management. Why is that useful? We explain how microservices ...

Web services: services from machine to machine

Many applications that run on your home PC or your own smartphone are dependent on data from the Internet - more precisely: from servers. One way that the devices can communicate with each other is through web services. The technology is based on standardized formats such as HTTP, SOAP and XML. How does this work?

Protobuf: Structured code with protocol buffers

The transmission of data in computer networks such as the Internet or between two applications is influenced by a wide variety of factors. The focus of such transfers is on performance and security. The Protocol Buffers developed by Google is convincing in both areas and is proving to be a worthwhile alternative to classic, text-based data exchange formats such as JSON or ...

WebAssembly: The Faster JavaScript?

The World Wide Web is getting faster and faster: With WebAssembly (Wasm) a standard has now been developed that is supposed to improve the performance of web applications extremely. Developers can now program in C, C ++ or Rust instead of JavaScript. The code is then translated into high-performance bytecode. This also makes it possible, for example, to make games in the browser more complex.