WSDL是一种基于XML的接口定义语言,用于描述网络服务的功能、消息格式、通信协议和访问地址;它通过五大元素定义数据类型、消息结构、操作声明、协议绑定和端点地址,是SOAP服务集成的机器可读契约。

WSDL(Web Services Description Language)是一种基于XML的接口定义语言,用于完整描述网络服务的功能、消息格式、通信协议和访问地址。它不实现服务,而是像一份“电子说明书”,让客户端清楚知道这个服务能做什么、怎么调用、数据长什么样、该发到哪个URL。
WSDL用XML描述服务的四个核心部分
一个WSDL文档通过几个关键XML元素组织服务信息:
-
:定义服务中用到的数据类型,通常引用或内嵌XML Schema(XSD),比如 xs:string、自定义的Order结构; -
:描述一次交互中传递的消息,每个消息由若干 组成,对应输入参数或返回值,例如; -
(在 内):声明服务支持的操作(如getCustomer),并指定其输入、输出和可能的错误消息; -
和 :把抽象操作绑定到具体协议(如SOAP over HTTP)和网络地址(如 https://api.example.com/customer),让调用可执行。
WSDL与XML的紧密关系
WSDL本身就是XML文档,所有语法都遵循XML规范。它不是用XML“传输”数据,而是用XML“描述规则”:
- 所有标签(如
、)都是标准WSDL命名空间下的XML元素; - 数据结构依赖XML Schema,保证请求/响应体符合预定义格式;
- 消息体内容虽常为SOAP XML,但WSDL本身只说明“这里要放一个符合某Schema的XML片段”,不生成实际报文。
典型使用流程
开发者或工具通过WSDL完成服务集成:
- 服务提供方发布WSDL文件(如
customer.wsdl),部署在可访问的URL上; - 客户端工具(如SoapUI、Java的wsimport、.NET的Add Service Reference)读取该WSDL;
- 工具自动解析出方法列表、参数类型、端点地址,并生成本地调用代码或测试界面;
- 调用时,客户端按WSDL约定构造SOAP请求XML,发送至指定地址,再按WSDL定义解析返回的XML响应。
基本上就这些。WSDL的价值在于用统一、机器可读的XML格式消除服务对接中的理解偏差,是传统SOAP Web服务生态的基石。










