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

王朝厨房·作者佚名  2007-01-02
窄屏简体版  字體: |||超大  

摘要:暂无

三、WSDL扩展机制

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元素可以被忽略。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航