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


猜你喜欢
- 环境:1.Windows Server 2016 Datacenter 64位2.SQL Server 2016 Enterprise 64
- StartLogic 公司为客户提供强有力的支持和极具竞争力的虚拟主机服务。 他们提供一系列的产品,包括共享虚拟主机(包括Windows、U
- 如果你想让你的WordPress站点有CMS的风格,首页幻灯片肯定是必须的。实现WordPress首页幻灯片的插件有很多,比如D13Slid
- 如果你有个站点(并且你如果想赚钱的话,你可能需要一个),那么你就有一个和我们一样的问题,流量。我们都需要流量,不过,搜索引擎越来越聪明了,很
- 这几天,公司的一个客户网站需要搭建论坛,当然采用我比较喜欢的Discuz x2.5,虽然还有些不完善,但可以慢慢升级。论坛安装在linux
- 最近有列出局域网中所有主机名的需求(SMB协议里的),但是findsmb命令总是列不全,搜了搜网上也没什么现成的解决方案,于是自己写了个py
- 1、前言apache+resin来做想来大家都比较熟悉了,一般的配置都是很熟悉的了,我查看了一些论坛上的文章,这方便的文章比较多。在这里,我
- 在2007年,我们根据中国发布商的需求发布了“允许的网站”和“广告在新窗口中打开”等功能,为了让 AdSense 广告更好地服务本地发布商,
- 老谢说下软文的写作要点,希望对自己写软文的站长们一些帮助。一、标题新鲜标题新鲜,必须能吸引人的兴趣,使浏览者看了你这个标题之后仍有欲望看你的
- 二、解决非人性化问题:当然我们不可能将自己的系统更改成windows XP系统,毕竟单位服务器需要服务器版操作系统。那么我们如何设置远程桌面
- 在shell中常用的特殊符号罗列如下:# ; ;; . , / \\ 'string'| ! $ ${} $? $$ $*\
- PHPWind论坛程序是PHP常用的论坛程序之一,但是它有个缺点是位置导航(又称面包屑导航)设置的非常不科学。一般网站的位置导航都是:首页&
- 搜索推广收入=检索量*点击率*推广单价,选择好的推广位能大幅拉升您网站的检索量,从而提升您的网站收入。我们把搜索框在网站首屏页面的位置分为6
- eWeek网络版刊文称,即使是最忠实的Google“粉丝”,也未必对其发展过程中的奇闻趣事都了如指掌
- 您是否曾在查看报告时发现您展示的广告获得了一些点击次数,但却没有得到相应的收入?发布商经常就此问题向我们发送电子邮件或在我们的支持论坛上进行
- 作为中国千千万万草根中的一个,我深感荣幸,因为这么多人参与,正说明了这个行业是如此的朝阳。哈哈废话少说。其实刚开始对地方分类网站了解不多,初
- Linux下/etc/network/interfaces文件用来配置网络接口。初始化网口Ethernet Interface大部分的网络接
- 配置很简单,但是每次都要查一下,索性就记录下1. 安装前准备 1.1 创建安装目录,习惯上通常安装在/usr/local/jdk8目录下m
- 两年前,我曾经写过一篇文章《Google和百度收录网站页面的比较》(发布于2006年4月17日《计算机世界》),分析当时情况下百度和Goog
- 从最近几天吵得热火的Blogbus的“自频道”,到早些时候Feedsky低调推出的“我的博客圈”,再到更早之前的Google Reader的