当前位置: 首页 > 工具软件 > API Testing > 使用案例 >

API Testing 10 - SOAP简介

龚鸿雪
2023-12-01

API Testing 入门基础系列 之 API Testing 10 - SOAP简介

SOAP(Simple Object Access Protocol)简单对象访问协议。

Protocol协议就是为了达成某事遵循的一系列规则,或则是执行特定的事情需要遵循的规则。例如:申请护照,定义了一系列规则。每个人必须遵循这些规则才能得到护照。它提供的是一个标准。同样,在软件领域,为特定的行为定义了协议。例如:
HTTP(Hypertext Transfer Protocol)互联网超文本传输协议
FTP(File Transfer Protocol)互联网文件传输协议

所以SOAP也是一个通讯或则是消息协议。它允许你以XML的形式互联网两个独立的系统或则应用间交换信息。比如:Web Services。基于XML的协议,使用JAX-WS(Java API for XML Web Services)规范,是XML Web Sservices的JAVA API。SOAP为结构化消息定义了一系列规则,用于从发送端到接收端的单向消息传输,或则执行类似于请求 / 应答的模式。

SOAP是与平台和语言无关的。我们可以使用任何语言和平台开发SOAP的 web services。为了接收和传输XML格式的消息,也可以使用其它协议,比如:HTTP和SMTP协议。

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 文档,包含下列元素:
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
可选的 Header 元素,包含头部信息
必需的 Body 元素,包含所有的调用和响应信息
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息

语法规则
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令

SOAP用WSDL(Web Services Description Language) 以XML的形式来描述一个Web Service的功能。包括EndPoints,输入/输出的消息格式。

总结:SOAP就是一个开发Web services的协议,允许系统之间以XML形式,及符合任意传输协议(如HTTP)的消息通讯。

 类似资料: