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

来源:asp之家 时间:2010-04-06 18:33:00 

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

标签:接口,wsdl,xml
0
投稿

猜你喜欢

  • Linux(Ubuntu) adb 无法识别的问题解决方法

    2023-11-03 13:14:34
  • vmware导入ova文件踩坑记小结

    2023-08-10 08:54:17
  • XP下IIS不能添加扩展名映射的BUG

    2008-05-25 13:46:00
  • PHPWind v7.3.2开启门户模式为默认后打开read页面导致浏览器死掉问题

    2009-05-31 17:18:00
  • 维护服务器安全的七大技巧

    2012-03-26 19:04:34
  • vmware workstation12安装centos提示VMware Player与Device/Credential Guard不兼容原因及解决方案

    2022-08-31 22:48:23
  • CentOS 6.5平台实现快速部署FTP的方法

    2023-08-06 05:59:28
  • Spring Boot使用Docker分层打包的设置方法

    2021-11-10 15:19:05
  • 腾讯,到了该创新的时候了

    2010-06-11 12:50:00
  • 防不胜防 了解DNS缓存中毒攻击原理

    2010-02-21 10:17:00
  • 在VMware Workstation中搭建VMware vSphere(图文教程)

    2023-11-04 03:32:53
  • Docker容器之间的通信的方法实现

    2023-05-16 15:42:31
  • 一行代码杜绝iframe挂马

    2007-12-23 17:18:00
  • 站长购买网站需认真考虑的十六条建议

    2008-05-29 12:30:00
  • 对百度收录新站的潜规则研究调查

    2008-11-27 17:57:00
  • DedeCMS如何SEO的探索(2)如何围绕SEO编辑内容

    2007-10-29 17:26:00
  • A/B 测试帮你找到适合你的广告格式

    2008-12-10 11:42:00
  • Discuz! X2调用活动主题并过滤内容中的图片

    2011-11-21 16:58:37
  • GoDaddy的密码保护文件夹 Godaddy

    2010-04-26 12:58:00
  • 教你新站seo获取外部链接的五大方法

    2008-03-03 12:46:00
  • asp之家 网站运营 m.aspxhome.com