What is wsdl

Last updated: April 1, 2026

Quick Answer: WSDL (Web Services Description Language) is an XML format that describes web services and their capabilities. It defines the operations available, the parameters they accept, and the response formats they provide.

Key Facts

Overview

WSDL (Web Services Description Language) is an XML-based language developed by Microsoft, IBM, and others to describe the capabilities of web services. It serves as a machine-readable contract that defines what operations a web service provides, what parameters those operations require, and what responses they return. Think of WSDL as an instruction manual for a web service—it tells client applications exactly how to communicate with the service and what to expect in return.

Structure and Components

A WSDL document is divided into several key sections. The types section defines the data structures used by the service, typically using XML Schema. The messages section specifies the data structures for request and response messages. The portType section defines abstract operations, essentially listing what the service can do. The binding section specifies protocol details (usually SOAP) and data format encodings. Finally, the service section provides the actual network address where the service is located. Together, these sections create a complete specification of a web service's interface.

SOAP Web Services

WSDL is intrinsically tied to SOAP (Simple Object Access Protocol), an XML-based protocol for making remote procedure calls. When a web service uses SOAP, it publishes a WSDL file that describes its SOAP interface. Client applications can read this WSDL file and automatically understand how to format SOAP requests. Many development tools can automatically generate client libraries from WSDL definitions, allowing developers to call remote web services as if they were local functions, significantly reducing development effort.

Code Generation and Integration

One of WSDL's most powerful features is enabling automatic code generation. Tools like Visual Studio, Eclipse, and many others can read a WSDL file and generate client code in languages like C#, Java, Python, or JavaScript. This means developers don't have to manually construct complex XML messages; they can simply call methods on generated proxy objects. The generated code handles message formatting, serialization, and deserialization automatically, making web service integration straightforward.

Modern Context and REST APIs

While WSDL remains in use for many enterprise and legacy systems, its prominence has declined with the rise of REST (Representational State Transfer) APIs. REST APIs typically use OpenAPI specifications (formerly Swagger) instead of WSDL for documentation and client generation. However, WSDL remains important in enterprise environments, financial services, and organizations with substantial SOAP-based infrastructure. Understanding WSDL remains valuable for developers working with legacy systems or enterprise web services.

Related Questions

What is the difference between WSDL and OpenAPI?

WSDL describes SOAP-based web services using XML, while OpenAPI describes REST APIs using JSON. OpenAPI is simpler and more commonly used for modern APIs, while WSDL is prevalent in enterprise systems.

How do I access a WSDL file?

Web services typically publish their WSDL at a specific URL, often by appending ?wsdl to the service endpoint (e.g., http://example.com/service?wsdl). You can view it in a browser or use development tools to parse it.

Is WSDL still relevant today?

WSDL remains relevant in enterprise and legacy systems using SOAP web services, but it's less common in modern API development where REST and OpenAPI specifications are preferred.

Sources

  1. W3C - Web Services Description LanguageCC-BY-4.0
  2. Wikipedia - WSDLCC-BY-SA-4.0