WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。
什么是 WSDL?
- WSDL 指网络服务描述语言
- WSDL 使用 XML 编写
- WSDL 是一种 XML 文档
- WSDL 用于描述网络服务
- WSDL 也可用于定位网络服务
- WSDL 还不是 W3C 标准
WSDL文档结构
import元素使得可以在当前的WSDL文档中使用其他WSDL文档中指定的命名空间中的定义元素。
元素包含一个或者多个port元素,其中每个port元素表示一个不同的Web服务。
定义为绑定和网络地址组合的单个端点。
最重要的 WSDL 元素。它可描述一个 web service、可被执行的操作,以及相关的消息。可以把
通信数据的抽象类型化定义,它由一个或者多个 part 组成。
web service 数据类型定义的容器,它使用某种类型系统(如 XSD)
web service 使用的通信协议,将一个抽象portType映射到一组具体协议(SOAO和HTTP)、消息传递样式、编码样式。
消息参数,指定引用types中定义的标签片段
特定端口类型的具体协议和数据格式规范,它由一个或者多个 Operation组成。
对服务所支持的操作进行抽象描述。
-
Soap
soap是一种传输协议,该协议使用的就是http协议。只不过HTTP传输的内容是HTML文本,而SOAP协议传输的是SOAP的数据。
指出绑定是针对soap协议格式的。Transport指定了传输协议。Style指定通信风格。有“rpc”和“document”两种风格。
为SOAP服务操作提供消息。通常可以指明此操作的soapActionHTTP头。
指出消息如何在soap header元素中表现
指出消息如何在soap body元素中表现。
Low Fare Search Req
Air.wsdl:
如上代码,
是将name为AirLowFareSearchPortType的portType映射过来。
通信风格为document,传输协议为"http://schemas.xmlsoap.org/soap/http"。
AirAbstract.wsdl:
如上代码,定义一个端口为:AirLowFareSearchPortType,在该端口中定义了一个操作"service",操作 "service" 拥有一个名为 "tns:AirLowFareSearchReq" 的输入消息,一个名为 "tns:AirLowFareSearchRsp" 的输出消息,以及一个名为"ErrorInfoMsg"的失败返回消息,其中message属性则是调用上面