WSDL 简介(通俗版,3 分钟看懂)
WSDL = Web Services Description Language
中文:Web 服务描述语言
一句话总结:
WSDL 就是一个 XML 文件,专门用来告诉别人“我的 SOAP 接口长什么样、怎么调用、在哪儿”,相当于 Web Service 的“产品说明书”或“接口文档”。
它到底描述了什么?(5 个核心问题都回答了)
| 问题 | WSDL 里对应的部分 | 回答的内容 |
|---|---|---|
| 接口里有哪些方法? | <portType> + <operation> | 比如 getUser、submitOrder 等 |
| 每个方法收什么参数? | <message> + <types>(XSD) | 参数是字符串?对象?数组?结构都写清楚 |
| 每个方法返回什么? | 同上 | 返回结构也用 XML Schema 定义 |
| 用什么协议调用? | <binding> | 几乎全是 SOAP over HTTP,也支持 HTTP GET/POST |
| 服务部署在哪个地址? | <service> → <soap:address> | 真正的 URL,例如 https://api.xxx.com/soap |
目前(2025年)的现状
| 场景 | 是否还在大量使用 WSDL |
|---|---|
| 银行、支付、运营商 | 是(核心系统全是 SOAP + WSDL) |
| 政府、税务、海关 | 是(电子政务标准强制要求) |
| 大型企业内部系统 | 是(尤其是用 Java/.NET 老系统) |
| 新互联网项目 | 基本不用(都改 REST/JSON 了) |
所以:现在学 WSDL 不是为了追潮流,而是为了吃饭(尤其是做对接、运维、测试、金融 IT 的同学)。
一个真实例子(超级简单)
WSDL 地址:
https://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
它告诉你:
- 服务名:WeatherWS
- 有个方法叫
getWeatherbyCityName - 传入一个字符串
theCityName - 返回一堆字符串数组(天气信息)
- 真实地址:https://www.webxml.com.cn/WebServices/WeatherWS.asmx
你拿这个 WSDL,SoapUI 一点就生成能直接用的请求模板,零代码就能调接口。
总结口诀(背下来就行)
“类型定结构,消息包参数,端口定方法,绑定定协议,服务给地址”
记住这 5 句话,任何 WSDL 你都能在 30 秒内看懂要怎么调用。
需要我再给你一个“最精简的 10 行 WSDL 示例”或“WSDL vs Swagger 对比”吗?