WSDL

Web Services Description Language

Interface
Introduced in Rel-8
WSDL is an XML-based interface description language standardized by the W3C and extensively used in 3GPP to define the operations, data types, and network endpoints of web services. It serves as a machine-readable contract between service providers and consumers, enabling automated client generation and ensuring interoperability for management, provisioning, and policy interfaces.

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

Rel-8 Initial

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

SpecificationTitle
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