soap
n.
(英文)肥皂
SOAP:简单对象访问协议
(SOAP:Simple Object Access Protocol)
简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
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也可以绑定到TCP和UDP协议上。
协议结构
SOAP 消息格式:
SOAP 标头
<SOAP-ENV: Envelope
Attributes>
<SOAP-ENV:Body
Attributes>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>目前主要在web服务中运用。
SOAPAction WEB编码中常见,协议开始起始意思,常见于编码启始句。
[编辑本段]语法规则
这里是一些重要的语法规则:
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令
[编辑本段]SOAP 消息的基本结构
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
...
</soap:Header>
<soap:Body>
...
...
<soap:Fault>
...
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
分享到:
相关推荐
SOAP 利用 XML 技术定义了一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 SOAP 的主要特点是可扩展、可通过多种底层网络协议使用、独立于编程模型。 SOAP 定义了一种方法以便将 ...
2. **SOAP编码规则**:SOAP定义了一种序列化机制,用于转换和交换应用程序自定义数据类型的实例。 3. **SOAP RPC表示**:这部分规定了如何表示远程过程调用和响应,使得RPC可以通过SOAP协议实现。 **SOAP消息结构*...
为了处理这些问题,SOAP定义了一套错误处理机制。当服务端遇到问题时,可以通过特定的SOAP错误消息来通知客户端。 ##### 示例:错误响应 假设在星期二不允许发送问候消息,服务端将返回如下错误响应: ```xml ...
- SOAP定义了如何将各种类型的数据编码成XML,这些规则称为SOAP编码风格(Encoding Style)。编码风格的命名空间为`http://schemas.xmlsoap.org/soap/encoding/`。 - 数据类型可以是简单的类型(如字符串或整数)...
- **示例1**:一个简单的通信信息,其中包含了由应用程序定义而非SOAP定义的元素,如头块元素`alertcontrol`和体块元素`alert`。头块元素包含了两个参数:`priority`和`expires`,而体块元素则包含了实际的信息内容...
- **RPC (Remote Procedure Call)**:SOAP定义了一套标准的远程过程调用协议,使得应用程序可以在网络上传递函数调用。 - **HTTP**:SOAP消息通常通过HTTP协议传输,利用HTTP的请求/响应模型来简化通信流程。 - **...
SOAP定义了一套编码规则,用于将复杂的数据类型(如数组、结构体)转换为XML表示。尽管现代的SOAP实现更倾向于使用XML Schema(XSD)来定义数据类型。 6. **WSDL(Web Services Description Language)**: 为了...
2. **SOAP消息交换模型**:SOAP定义了两种消息交换模式:请求-响应(Request-Response)和单向(One-Way)。请求-响应模式类似于传统的客户端-服务器交互,而单向模式则用于简单的通知或触发操作。 3. **与XML的...
- SOAP定义了一系列内置的数据类型,这些类型涵盖了基本的数值类型、字符串类型以及复杂的复合类型。 - **3.8 SOAP传输协议** - SOAP可以在多种传输协议之上运行,如HTTP、SMTP等,这使得SOAP具有很高的灵活性。 ...
2. **消息模型**:SOAP定义了两种消息模型:RPC(Remote Procedure Call)模型和Document模型。RPC模型模仿函数调用,而Document模型则关注数据交换。 3. **SOAP版本**:主要有SOAP 1.1和SOAP 1.2两个主要版本,...
- **SOAP 错误:** SOAP 定义了一种标准的方式来表示错误和异常,这有助于发送方和接收方更好地理解问题所在。 - **SOAP 消息交换模型:** SOAP 支持多种消息交换模式,包括请求/响应、单向和通知等。 - **SOAP 作为...
SOAP定义了SOAP信封结构以及如何构造和处理信封中包含的消息。 3.1 XML命名空间 文件中提到了“xmlns:soap”命名空间。XML命名空间是XML文档中用于区分不同标记语言和模式的标准机制,它可以避免不同语言间的命名...
#### 一、SOAP定义与特点 SOAP(Simple Object Access Protocol),即简单对象访问协议,是一种在分布式环境下实现不同系统之间信息交换的轻量级协议。其核心优势在于它基于广泛使用的XML标准,使得SOAP具有良好的...
2. **简单模型**:SOAP定义了一个简单的请求-响应模型,通过HTTP、SMTP等传输协议进行通信,简化了网络交互。 3. **模块化**:SOAP允许通过使用WSDL(Web Services Description Language)来定义服务接口,WS-...
为了确保SOAP消息的正确性和一致性,SOAP定义了一系列的语法规则: 1. **SOAP消息必须使用XML编码**:这是SOAP消息的基础,确保消息内容能够被解析和理解。 2. **SOAP消息必须使用SOAP Envelope命名空间**:这确保...
SOAP定义了一种消息传递模型,支持多种网络协议,但最常用的是HTTP协议。SOAP的一个重要特性是它的平台无关性和语言无关性,这意味着使用不同编程语言实现的应用程序都能够通过SOAP进行通信。 首先,了解SOAP消息的...
Web服务是通过SOAP定义的接口,使得不同的系统可以相互通信,实现服务的互操作性。理解WSDL(Web Services Description Language)也很重要,它是用来描述Web服务接口的XML格式规范。 在面试中,对于这些知识点的...