- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
soap协议规范【DOC精选】
SOAP协议规范(转)
1. 简介??SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使SOAP能够被用于从消息传递到RPC的各种系统。??SOAP包括三个部分??* SOAP封装(见第4节)结构定义了一个整体框架用来表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。?* SOAP编码规则(见第5节)定义了用以交换应用程序定义的数据类型的实例的一系列机制。?* SOAP RPC表示(见第7节)定义了一个用来表示远程过程调用和应答的协定。???虽然这三个部分都作为SOAP的一部分一起描述,但它们在功能上是相交的。特别的,封装和编码规则是在不同的名域中定义的,这种模块性的定义方法增加了简单性在SOAP封装,SOAP编码规则和SOAPRPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或没有HTTP扩展框架[6]的情况下, SOAP消息如何包含在HTTP消息[5]中被传送。?1.1 设计目标??SOAP的主要设计目标是简单性和可扩展性,这意味着传统的消息系统和分布对象系统的某些性质不是SOAP规范的一部分。这些性质包括:??* 分布式碎片收集?* 成批传送消息?* 对象引用(要求分布式碎片收集)?* 激活机制(要求对象引用)???1.2 符号约定??这篇文章中的关键字 MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT,SHOULD, SHOULD NOT, RECOMMENDED, MAY, 和OPTIONAL的解释在RFC-2119 [2]中。 这篇文章中用到的名域前缀 SOAP-ENV 和SOAP-ENC分别与/soap/envelope/ 和/soap/encoding/关联。整篇文档中,名域前缀“xsi”被假定为与 URI/1999/XMLSchema-instance“(在XMLSchema规范[11]定义)相连。类似的,名域前缀”xsd“被假定为与URI/1999/XMLSchema(在[10]中定义)相连。名域前缀” tns“用来表示任意名域。所有其它的名域前缀都只是例子。?名域URI的基本形式”some-URI“表示某些依赖于应用程序或上下文的URI[4]。这个规范用扩展BNF(在RFC-2616[5] 描述)描述某些结构。?1.3 SOAP消息举例??在这个例子中,GetLastTradePrice SOAP 请求被发往StockQuote服务。这个请求携带一个字符串参数和ticker符号,在SOAP应答中返回一个浮点数。XML名域用来区分SOAP标志符和应用程序特定的标志符。这个例子说明了在第6节中定义的HTTP绑定。如果SOAP中管理XML负载的规则完全独立于HTTP是没有意义的,因为事实上该负载是由HTTP携带的。在Appendix A中有更多的例子。??例1 在HTTP请求中嵌入SOAP消息??POST /StockQuote HTTP/1.1?Host:??Content-Type: text/xml;?charset=utf-8?Content-Length: nnnn?SOAPAction:?Some-URI?SOAP-ENV:Envelope?xmlns:SOAP-ENV=/soap/envelope/?SOAP-ENV:encodingStyle=/soap/encoding/?SOAP-ENV:Body?m:GetLastTradePrice xmlns:m=Some-URI?symbolDIS/symbol?/m:GetLastTradePrice?/SOAP-ENV:Body?/SOAP-ENV:Envelope??下面是一条应答消息,包括HTTP消息,SOAP消息是其具体内容 :??例2 在HTTP应答中嵌入SOAP消息??HTTP/1.1 200 OK?Content-Type: text/xml;?charset=utf-8?Content-Length:?nnnn?SOAP-ENV:Envelope?xmlns:SOAP-ENV=/soap/envelope/?SOAP-ENV:encodingStyle=/soap/encoding//?SOAP-ENV:Body?m:GetLastTradePriceResponse xmlns:m=Some-URI?Price34.5/Price?/m:GetLast
文档评论(0)