Description
The Web Services Description Language (WSDL) is a fundamental technology within 3GPP for defining the technical interface of network-exposed web services. It is an XML schema that provides a formal, machine-readable description of how a service can be called, what parameters it expects, and what data structures it returns. In 3GPP architectures, WSDL documents are used to specify the northbound and southbound Application Programming Interfaces (APIs) for numerous network functions, particularly in the domains of Operations, Administration, and Maintenance (OAM), Policy and Charging Control (PCC), and network element provisioning.
Architecturally, a WSDL 1.1 document (the version predominantly referenced in 3GPP) is composed of several key sections. The 'types' section defines the complex data structures (using XML Schema - XSD) that are exchanged in messages. The 'message' section defines the abstract content of a communication, grouping parts into input and output messages. The 'portType' (akin to an interface in programming) groups related operations, each specifying an input and/or output message. The 'binding' section concretely specifies the protocol (e.g., SOAP over HTTP) and data format (e.g., document/literal) for a portType. Finally, the 'service' section defines the network address (URL) where the bound interface can be accessed.
How it works in practice is that a network function acting as a Web Service Provider (e.g., a Home Subscriber Server - HSS for provisioning) publishes its WSDL document. A client system, or Web Service Consumer (e.g., a Network Management System - NMS), retrieves this WSDL. Using standard development tools, the consumer can automatically generate client-side code (stubs) that knows exactly how to construct a valid SOAP request, which endpoint to send it to, and how to parse the SOAP response. This automation drastically reduces integration effort and errors. Its role in the 3GPP network is as the cornerstone of a contract-first, service-oriented design for network interfaces, enabling multi-vendor interoperability, dynamic service discovery, and the alignment of telecom network management with mainstream IT integration practices.
Purpose & Motivation
WSDL was adopted by 3GPP to solve the critical problem of precisely and unambiguously defining the programmatic interfaces for network functions exposed as web services. Prior to its use, interface definitions were often conveyed through lengthy textual documents (human-readable specs), which led to interpretation errors, inconsistent implementations across vendors, and manual, error-prone integration work. This increased costs, delayed deployments, and created fragile multi-vendor networks.
The historical driver was the 3GPP's move towards all-IP networks and the desire to leverage widely adopted IT technologies for network management (starting in Release 8 with SAE). Web services offered a standardized communication framework, but a service is only as interoperable as its definition. WSDL, as a W3C standard, provided the missing piece: a formal, platform-neutral contract. Its creation was motivated by the need for a language that could be processed by machines to automate the generation of client and server code, ensuring that both sides of the communication adhered to the same data formats and procedural rules.
It addressed the limitations of previous approaches like proprietary APIs or protocols described only in prose. By using WSDL, 3GPP could specify interfaces in a way that was both human-readable (as XML) and directly consumable by software development kits (SDKs). This enabled a 'design by contract' methodology, where the interface is defined first and implementations are built to conform. This was essential for achieving the plug-and-play interoperability required for modern, automated, and virtualized networks, supporting key initiatives like Network Functions Virtualization (NFV) and Management and Orchestration (MANO) where dynamic service composition relies on standardized, discoverable interfaces.
Key Features
- XML-based format for describing web service interfaces in a platform-neutral manner
- Defines abstract operations (portType) and concrete protocol bindings (e.g., SOAP/HTTP)
- Uses XML Schema (XSD) within the 'types' section to define complex data structures
- Specifies the network endpoint location (URL) for accessing the service
- Enables automatic generation of client and server code stubs from the interface definition
- Supports a contract-first design approach for service-oriented architecture
Evolution Across Releases
WSDL 1.1 was extensively adopted across 3GPP specifications, particularly for OAM interfaces (IRPs in TS 32-series) and service exposure interfaces. It established the standard method for defining web service contracts, enabling automated code generation and ensuring interoperability for the new IP-based management and provisioning frameworks introduced with the System Architecture Evolution (SAE).
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.222 | 3GPP TS 23.222 |
| TS 23.722 | 3GPP TS 23.722 |
| TS 28.303 | 3GPP TS 28.303 |
| TS 28.669 | 3GPP TS 28.669 |
| TS 29.198 | 3GPP TS 29.198 |
| TS 29.199 | 3GPP TS 29.199 |
| TS 32.101 | 3GPP TR 32.101 |
| TS 32.111 | 3GPP TR 32.111 |
| TS 32.153 | 3GPP TR 32.153 |
| TS 32.306 | 3GPP TR 32.306 |
| TS 32.307 | 3GPP TR 32.307 |
| TS 32.316 | 3GPP TR 32.316 |
| TS 32.317 | 3GPP TR 32.317 |
| TS 32.346 | 3GPP TR 32.346 |
| TS 32.347 | 3GPP TR 32.347 |
| TS 32.366 | 3GPP TR 32.366 |
| TS 32.367 | 3GPP TR 32.367 |
| TS 32.416 | 3GPP TR 32.416 |
| TS 32.417 | 3GPP TR 32.417 |
| TS 32.506 | 3GPP TR 32.506 |
| TS 32.507 | 3GPP TR 32.507 |
| TS 32.536 | 3GPP TR 32.536 |
| TS 32.537 | 3GPP TR 32.537 |
| TS 32.606 | 3GPP TR 32.606 |
| TS 32.607 | 3GPP TR 32.607 |
| TS 32.616 | 3GPP TR 32.616 |
| TS 32.617 | 3GPP TR 32.617 |
| TS 32.667 | 3GPP TR 32.667 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.824 | 3GPP TR 32.824 |
| TS 32.866 | 3GPP TR 32.866 |