解析Web接口描述语言WSDL(4)

web

  WSDL设计继承了以XML为基础的当代Web技术标准的开放设计理念。它允许通过扩展使用其它的类型定义语言(不光是XMI Schema),允许使用多种网络传输协议和消息格式(不仅是在规范中定义的SOAP/HTTP、HTTP-GET/POST及MIME等)。WSDL也应用了当代软件工程中的复用理念,分离了抽象定义层和具体部署层,使得抽象定义层的复用性大大增加。

  1、 SOAP绑定

  WSDL包括用于SOAP 1.1终端的绑定,此绑定支持下列协议信息规范:

  需要指示出此绑定是针对SOAP 1.1协议的。
  为SOAP 终端指定地址的方式。
  用于SOAPAction HTTP头的URI,而此头是绑定了SOAP 的HTTP头。
  作为SOAP封装一部分传送的头列表定义。

  SOAP绑定使用下列扩展元素对WSDL进行扩展:(注意黑体标注)

<definitions .... >
<binding .... >
<soap:binding style="rpc|document" transport="uri"> …1
<operation .... >
<soap:operation soapAction="uri" style="rpc|document"> …2
<input>
<soap:body parts="nmtokens" use="litera  |encoded"
encodingStyle="uri-list" namespace="uri">…3
<soap:header message="qname" fault="qname"/> …4
</input>
<output>
<soap:body parts="nmtokens" use="litera  |encoded"
encodingStyle="uri-list"? namespace="uri"/>…3
<soap:header message="qname" fault="qname"/> …4
</output>
<fault>
<soap:fault name="nmtoken" use="litera  |encoded"
encodingStyle="uri-list" namespace="uri">…5
</fault>
</operation>
</binding>
<port .... >
<soap:address location="uri"/> …6
</port>
</definitions>

  1)soap:binding

  SOAP绑定元素的目的是指出绑定是针对SOAP协议格式的:Envelope, Header 和 Body。这个元素没有对编码或消息格式进行声明。在使用SOAP绑定时必须指出soap:binding元素。

  2)soap:operation

  soap:operation 元素从整体上为操作提供信息。

  style属性指出操作是面向RPC(消息包含参数和返回值)的还是面向文档的(消息包含文档)。此信息可用于选择合适的编程模板。此属性的值将影响SOAP消息体的构建方式,如果没有指定值,它默认为soap:binding元素中指定的值。如果soap:binding元素没有指定样式,它假定为"文档"。

  soapAction属性为此操作的SOAPAction头指定了值。此URI应当被直接用作SOAPAction头的值,在作出请求时不要试图将一个相对URI变成绝对URI。对于绑定了SOAP的HTTP协议来说,此值是必需的(它没有默认值)。对于其它的SOAP协议绑定,决对不能为其指定值,而soap:operation元素可以被忽略。

时间: 2024-09-12 13:44:10

解析Web接口描述语言WSDL(4)的相关文章

解析Web接口描述语言WSDL(1)

web Web服务定义语言(Web Services Definition Language,WSDL)是一个建议性标准,用于描 述Web服务的技术调用语法.WSDL定义了一套基于 XML的语法,将Web服务描述为能够进行消息交换的服务访问点的集合,从而满足了这种需求.WSDL服务定义为分布式系统提供了可机器识别的SDK文档,并且可用于描述自动执行应用程序通信中所涉及的细节.WSDL的当前版本是1.1,规范可以从http://www.w3.org/TR/wsdl获得. WSDL就是描述XMLWe

解析Web接口描述语言WSDL(3)

web WSDL文档被分为两种类型:服务接口(service interface )和服务实现(service implementations).(如下图3所示) 图3 WSDL文档类型 服务接口由 WSDL文档来描述,这种文档包含服务接口的 types.import.message.portType 和 binding 等元素.服务接口包含将用于实现一个或多个服务的 WSDL服务定义.它是 Web 服务的抽象定义,并被用于描述某种特定类型的服务. 通过使用一个 import 元素,一个服务接口

解析Web接口描述语言WSDL(6)

web 3. MIME 绑定 WSDL包含了以某种MIME格式将抽象类型与具体消息绑定在一起的方式.为下列MIME类型定义了绑定: multipart/related text/XML application/x-www-form-urlencoded (此格式用于替代HTML中的表单) 其它 ( 由MIME类型字符串指定) 对MIME类型的定义的工作量很大,且是发展的,因此为每种MIME类型费力地定义XML语法不是WSDL的目标.在需要时,不排除增加额外的语法以定义另外的MIME类型.如果MI

解析Web接口描述语言WSDL(2)

web 2.WSDL对象结构图 从图2所示的WSDL对象结构图可知,一个WSDL文档中可以包含一个Types,多个Message.PortType.Binding和Service. 图2 WSDL对象结构图 其中,Types是一个数据类型定义的容器,包含了所有在消息定义中需要的XML元素的类型定义. Message具体定义了在通信中使用的消息的数据结构,Message元素包含了一组Part元素,每个Part元素都是最终消息的一个组成部分,每个Part都会引用一个DataType来表示它的结构.P

Web Service描述语言 WSDL 详解

http://www.blogjava.net/libin2722/articles/159469.html 为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]

web|详解 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Servic

Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]-Web_Serv

像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了.有时候,那些还没有普遍使用的标准甚至由法令或政府规定强行推出:Ada语言就是一例. 我相信正是跟随标准所带来的好处使它广泛接受.例如,对于铁路服务来说,真正重要的是,不同公司所铺设的铁路结合到一起,或者是来自好几个公司的产品协调的工作在一起.几家大的企业合力建立了SOAP标准.Web Service描述语言(WSDL)向这种Web Service的提供商和用

Web Service描述语言 WSDL 详解(2)--WSDL文件示例[转]

web|示例|详解 让我们来研究一下WSDL文件,看看它的结构,以及如何工作.请注意这是一个非常简单的WSDL文档实例.我们的意图只是说明它最显著的特征.以下的内容中包括更加详细的讨论. <?xml version="1.0" encoding="UTF-8" ?><definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/"

Web Service描述语言 WSDL 详解(2)--WSDL文件示例[转]-Web_Servic

让我们来研究一下WSDL文件,看看它的结构,以及如何工作.请注意这是一个非常简单的WSDL文档实例.我们的意图只是说明它最显著的特征.以下的内容中包括更加详细的讨论.<?xml version="1.0" encoding="UTF-8" ?><definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/" xmlns:wsdln