第六章 SOAP.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 SOAP

第六章 SOAP 简易对象访问协议 6.1概述 概述 SOAP 是一种简单的基于 XML 的消息格式协议,它使应用程序通过 HTTP或其他消息传输协议在分布环境中交换信息。 在 2000 年 5 月,UserLand、Ariba、Commerce One、Compaq、Developmentor、HP、IBM、IONA、Lotus、Microsoft 以及 SAP 向 W3C 提交了 SOAP 因特网协议 首个关于 SOAP 的公共工作草案由 W3C 在 2001 年 12 月发布 为什么需要SOAP 在异构系统之间交换数据,必须确定共同的表示形式 为什么需要SOAP SOAP 提供了一种标准的方法,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以在互联网上互相进行通信。 目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,RPC 会产生兼容性以及安全问题;防火墙和代理服务器通常会阻止此类流量。 HTTP 在应用程序间通信是更好的方法,因为 HTTP 得到了所有的因特网浏览器及服务器的支持 6.2 SOAP消息结构 6.2.1 SOAP 构建模块 一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素: 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息 可选的 Header 元素,包含头部信息 必需的 Body 元素,包含所有的调用和响应信息 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息 SOAP 消息的基本结构 所有以上的元素均被声明于针对 SOAP 封装的默认命名空间中: /2001/12/soap-envelope 以及针对 SOAP 编码和数据类型的默认命名空间 /2001/12/soap-encoding 语法规则 SOAP 消息必须用 XML 来编码 SOAP 消息必须使用 SOAP Envelope 命名空间 SOAP 消息必须使用 SOAP Encoding 命名空间 SOAP 消息不能包含 DTD 引用 SOAP 消息不能包含 XML 处理指令 SOAP Envelope 元素 Envelope 元素是 SOAP 消息的根元素 ,它可把 XML 文档定义为 SOAP 消息 SOAP 消息必须拥有与命名空间 /2001/12/soap-envelope 相关联的一个 Envelope 元素。如果使用了不同的命名空间,应用程序会发生错误,并抛弃此消息。 encodingStyle 属性 SOAP 的 encodingStyle 属性用于定义在文档中使用的数据类型。此属性可出现在任何 SOAP 元素中,并会被应用到元素的内容及元素的所有子元素上。SOAP 消息没有默认的编码方式。 soap:encodingStyle=URI 6.2.2 SOAP Header 元素 可选的 SOAP Header 元素可包含有关 SOAP 消息的应用程序专用信息(比如认证、支付等)。如果 Header 元素被提供,则它必须是 Envelope 元素的第一个子元素。 SOAP 定义了三个属性。这三个属性是:actor、 mustUnderstand 以及 encodingStyle。这些被定义在 SOAP 头部的属性可定义容器如何对 SOAP 消息进行处理。 actor 属性 每个SOAP节点都必须以一个特定角色来处理消息,这些角色可由actor来识别。 该属性用来把Header条目定位到合适的SOAP节点,没有该属性的Header隐含地定位到一个匿名的actor。 如果Header条目中的actor匹配了一个节点的角色,这时我们就说该Header条目指向这个节点。 mustUnderstand 属性 SOAP 的 mustUnderstand 属性可用于标识Header条目对于要对其进行处理的接收者来说是强制的还是可选的。 假如在 Header 元素的某个子元素添加了 mustUnderstand=1,则它可指示处理此头部的接收者必须认可此元素。假如此接收者无法认可此元素,则在处理此头部时必须失效。 6.2.3 SOAP Body 必需的 SOAP Body 元素可包含打算传送到消息最终节点的实际 SOAP 消息。 SOAP Fault 元素 SOAP Fault 元素用于在SOAP消息中传输错误及状态信息。在一条 SOAP 消息中,Fault 元素只能出现一次。 SOAP 的 Fault 元素用于下列子元素: 标准的Faultcode SOAP定义了4种标准类型的错误,它们都属于/2001/12/soap-envelope命名空间: 6.2.4 SOA

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档