发布日期 : 4/22/2004 | 更新日期 : 4/22/2004
本页内容
摘要
SOAP 1.1 W3C 纪要
SOAP 版本 1.2 W3C 工作草案
状态
AppNotes
摘要
SOAP 是一种用于在非集中、分布式环境中交换信息的轻量级协议。它是一种基于 XML 的协议,由三部分组成:一个定义框架的封套,用于描述消息的内容以及如何对它进行处理、一组表示应用程序定义的数据类型实例的编码规则,以及一个表示远程过程调用和响应的约定。SOAP 能够潜在地与多种其他协议一起使用;然而,只有此文档中定义的绑定描述了如何与 HTTP 和 HTTP 扩展框架一起使用 SOAP。
SOAP 1.1 W3C 纪要
规范
http://www.w3.org/TR/SOAP/
架构
http://schemas.xmlsoap.org/soap/envelope
http://schemas.xmlsoap.org/soap/encoding
SOAP 版本 1.2 W3C 工作草案
规范
第一部分:http://www.w3.org/TR/soap12-part1/
第二部分:http://www.w3.org/TR/soap12-part2/
架构
SOAP 信封:http://www.w3.org/2001/09/soap-envelope
SOAP 编码:http://www.w3.org/2001/09/soap-encoding
状态
SOAP 1.1 被提交给了 W3C,并在 2000 年 5 月 8 日成为 W3C 纪要。大多数目前的 SOAP 实现都构建为支持 SOAP 1.1。W3C 的 XML 协议工作组正在开展有关 SOAP 1.2 的工作。
AppNotes
简介
SOAP 是在非集中、分布式环境中进行信息交换采用的一个轻量级、可扩展的和基于 XML 的协议。首先,SOAP 定义了一个消息结构框架和一个消息处理模型。SOAP 还定义了一组序列化数据的编码规则和一个进行远程过程调用的约定。SOAP 扩展性模型为在多种基础协议(如 HTTP)上运行的广泛可组合协议提供了基础。
目的和非目的
SOAP 设计成既简单又可扩展。它定义了一个消息处理模型,但自身没有定义任何应用语义,如编程模式或特定实现的语义。尽管 SOAP 可以用作构建复杂系统的基础,但旧有消息系统和分布式对象系统提供的大部分功能都不是核心 SOAP 规范的部分。
详细信息
SOAP 消息基于 XML,包含以下部分:
-
Envelope
是表示消息的顶层容器。
-
Header
是以非集中方式向 SOAP 消息添加的功能的一般容器。SOAP 定义属性,以表明谁应该处理某个功能,以及含义是可选的还是强制的。
-
Body
是针对最终消息接收者的强制信息的容器。SOAP 为正文定义了一个元素来报告错误。
如下面图 1 所示,一条 SOAP 消息可以在
Header
和
Body
容器中有多个应用程序定义块。
.gif)
图 1.SOAP 消息结构
以下项显示了一个示例 SOAP 消息,它是对 Web 服务的一条警告消息。该请求包含一条文本消息(在
Body
中),并且被标记,表明该信息在给定时间(在
Header
中)以后不再有意义。
<?xml version="1.0" encoding="UTF-8" ?>
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope">
<env:Header>
<n:alertcontrol xmlns:n="http://example.org/alertcontrol">
<n:priority>1</n:priority>
<n:expires>2001-06-22T14:00:00-05:00</n:expires>
</n:alertcontrol>
</env:Header>
<env:Body>
<m:alert xmlns:m="http://example.org/alert">
<m:msg>Pick up Mary at school at 2pm</m:msg>
</m:alert>
</env:Body>
</env:Envelope>
SOAP 消息可以使用 HTTP、SMTP、TCP 和其他协议进行发送。例如,WS-Routing 定义 SOAP 消息绑定至 DIME、TCP 和 UDP。
影响
SOAP 为构建其他协议以提供安全可靠的消息环境所需要的完整服务提供了基础。例如,WS-Security 和 WS-License 可以用来确保 SOAP 消息的完整性和(或)机密性。类似这种协议可以利用 SOAP 消息结构的模块化打包。在这种结构中,多个基于 SOAP 的协议可以逻辑地共存于同一消息中。这种可组合性使 SOAP 可以在大量的系统(从小型设备至全球 Web 服务,不一而足)中使用。
相关规范
SOAP 定义了一个消息结构的框架,但除了 SOAP 错误以外,就没有定义其他的消息类型;WSDL 可以用来描述 Web 服务能够发送和接收的消息类型。SOAP 是一个基于 XML 的协议;DIME 可以用来构造支持 SOAP 消息的 XML 和二进制数据的框架。
转到原英文页面