什么是 WSDL?
WSDL 的全称是 Web Services Description Language,中文可以叫做'Web 服务描述语言'。
打个比方:
你把 WebService 想象成一个自动售货机,WSDL 就是这台机器的说明书。
它告诉你:
- 机器在哪里?(接口地址)
- 机器卖什么东西?(提供哪些方法)
- 怎么操作这台机器?(方法需要哪些参数)
- 机器会给你什么?(返回结果格式)
- 你跟机器对话用啥语言?(协议和数据格式)
WSDL 和 SOAP 的关系
- SOAP 是'怎么说话'的语言,用 XML 格式传输数据。
- WSDL 是'说明书',告诉你怎么用 SOAP 正确说话。
换句话说,没有 WSDL,你就不知道该怎么给 WebService 发对的请求,也不知道怎么解析它给你的回应。
WSDL 的主要结构有哪些?
WSDL 文件本质是 XML 格式,包含几个重要的部分:
| 部分名称 | 作用 | 通俗理解 |
|---|---|---|
| types | 定义接口中使用的数据类型 | 说明商品的种类和规格 |
| message | 定义接口传输的数据结构 | 你跟机器说话的句子格式 |
| portType | 定义接口有哪些方法及参数 | 机器能做哪些动作 |
| binding | 绑定具体协议(SOAP 1.1/1.2 等) | 你说话用的语言和规则 |
| service | 定义服务地址和端口 | 机器的具体位置 |
为什么 WSDL 很重要?
- 自动化生成代码
通过 WSDL,开发工具可以帮你自动生成接口调用代码,不用手写复杂的 XML。 - 保证接口规范统一
提供方和调用方都按照同一本说明书来开发,避免沟通错误。 - 方便接口调试
调试工具(如 SoapUI)导入 WSDL 后,可以自动生成测试请求。
举个例子:WSDL 简单样子
<definitions name="WeatherService" targetNamespace="http://example.com/weather" xmlns:tns="http://example.com/weather" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd= =>

