WSDL(Web Services Description Language)详解
WSDL 是 WebService 的核心描述语言,它以 XML 格式定义了一个 WebService 的功能、数据类型、通信协议、调用地址等关键信息,相当于 WebService 的 “说明书”。客户端通过解析 WSDL,就能知道如何调用服务(比如有哪些方法、参数格式、返回值类型、调用地址等),从而实现跨平台、跨语言的互操作。
WSDL 的核心作用
- 让客户端明确 WebService 提供的所有可调用功能(如方法名);
- 定义功能的输入参数、返回值的数据类型;
- 指定调用服务的协议(如 SOAP over HTTP)和数据格式;
- 提供服务的网络地址(如
http://localhost:8080/...)。
WSDL 构成元素详解(结合示例代码)
WSDL 文档的所有内容都包裹在根元素<definitions>中,其他元素按逻辑分层,形成 “抽象定义” 到 “具体实现” 的完整描述。逐一解析各元素:
1. <definitions>:根元素
作用:作为 WSDL 文档的容器,定义文档的命名空间(避免元素名冲突)和整体元数据。
示例解析:
1
2
3
4
5
6<wsdl:definitions
targetNamespace="http://com.study.demo/HelloService" <!-- 该WSDL的唯一命名空间 -->
xmlns:tns="http://com.study.demo/HelloService" <!-- 引用自身命名空间的前缀(tns即"this namespace") -->
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" <!-- SOAP相关命名空间 -->
... <!-- 其他标准命名空间(如XML Schema、SOAP编码等) -->
>命名空间是 WSDL 的核心,确保不同元素(如自定义类型和标准类型)不冲突。
2. <types>:数据类型定义
作用:描述 WebService 与客户端之间交换的所有数据类型(如参数、返回值的格式),通常基于 XML Schema(XSD)定义。
示例解析: