什么是SOAP
SOAP 包括三个部分:
- SOAP 封装:它定义了一个框架,该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。
- SOAP 编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。
- SOAP RPC 表示:它定义了用于表示远程过程调用和应答的协定。
SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。
把 SOAP 绑定到 HTTP 提供了同时利用 SOAP 的样式和分散的灵活性的特点以及 HTTP 的丰富的特征库的优点。在 HTTP 上传送 SOAP 并不是说 SOAP 会覆盖现有的 HTTP 语义,而是 HTTP 上的 SOAP 语义会自然的映射到 HTTP 语义。在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。
![]() |
协议结构 |
SOAP 消息格式: SOAP 标头 <SOAP-ENV: Envelope Attributes> <SOAP-ENV:Body Attributes </SOAP-ENV:Body> </SOAP-ENV:Envelope> 示例 1 : 内嵌在 HTTP 请求中的 SOAP 消息 |
内嵌在 HTTP 请求中的 SOAP 消息 |
下面是一个包含将 SOAP 消息作为负载的 HTTP 应答消息。 示例 2 : 内嵌在 HTTP 应答中的 SOAP 消息 |
内嵌在 HTTP 应答中的 SOAP 消息 |
相关协议 |
HTTP、XML、RPC、MIME、SMTP |
组织来源 |
简单对象访问协议(SOAP)由微软公司提出。 |
相关链接 |
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ : Simple Object Access Protocol (SOAP) |