您的位置:首页 > 其它

WSDL1.1学习笔记

2015-08-05 09:29 155 查看
WSDL属于Web服务的描述层,定义了如何描述Web服务。根据WSDl提供的消息,Web服务的请求者可以构造相应的SOAP消息,以消费Web服务。

WSDL协议将其对服务的描述分为两部分:抽象定义和具体实现。

抽象定义描述了服务的操作和消息

具体实现则定义了诸如绑定等和具体的服务地址相关的消息。

下图是WSDL文档的基本结构:



下图是WSDL协议中各元素之间的主要关系图



<types>元素用来定义数据结构。定义的数据类型在消息中会被引用。这里要注意的是WSDL本身并没有提供定义数据类型的语言,而是利用已有的语言。如XML
Schema.
<message>元素定义了Web服务之间交换的消息类型。每一条消息可以分成多个部分<part>,<part>元素可以通过types属性来引用在<types>中定义的数据类型,也可以通过<element>元素引用全局定义的元素。
<portType>元素定义了Web服务支持的操作组。每一个操作由<operation>元素定义,其中又分别通过<input>和<output>元素定义了该操作的输入消息和输出消息。其实就是定义一个接口。
<binding>元素定义了如何将端口类型绑定到具体的传输协议用,如何格式化数据。应用最广泛的就是SOAP绑定(即xml转换成对象,对象转换成xml对应关系)。SOAP绑定规定如何抽取操作中的<message>元素来构造相应的SOAP消息。
<service>元素用来指明服务的地址。对于每一个定义的绑定,<service>元素包含一个<port>元素来指明它的具体地址。

WSDL1.1定义了和SOAP1.1的绑定,WSDL2.0则定义了和SOAP1.2的绑定。

WSDL2.0与WSDL1.1的改进主要有:

根元素为<description>,替代了1.1中的<definitions>
去掉了<message>元素,在定义操作时直接引用XML Schema定义的合局元素。
使用元素<interface>代替<portType>
引入了接口的继承,可以像面向对象一样,通过继承现有的接口来定义新的接口
使用元素<endpoint>代替了<port>元素
每个<service>只能实现一个接口,但可以包含不同的实现,即可以包含多个<endpoint>元素,分别对应不同的地址和实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: