SoapUI教程

SOAP 和 REST Web

SOAP 和 REST Web 服务介绍

SOAP Web 服务

SOAP 代表 简单对象访问协议是一种网络平台,用于 Web 服务中,用于在网络上的两台不同机器之间交换或通信数据。它使用 XML 格式的数据通过 HTTP 协议传输消息。在 Web 服务中,SOAP 允许用户请求与其他编程语言进行交互。通过这种方式,它提供了一种在不同平台(操作系统)上运行的应用程序之间进行通信的方式,使用 Web 服务中使用的编程语言和技术。
SOAP and REST Web Services

SOAP 消息:

SOAP 消息在 XML 格式,如下所示。
它包含有关网络处理过程中消息结构和指令的信息。 SOAP 包含一个信封,以 XML 格式表示消息的开始和结束。 在消息中,标头是一个可选元素,包含特定于应用程序的信息,例如身份验证、授权和支付等。 故障元素是一个可选元素,用于在信息处理过程中显示错误消息。

SOAP 的特性

它是网络服务中用于通过互联网进行通信的开放标准协议。 它用于通过网络广播消息。 用于调用远程程序和交换文件。 它可以在任何平台上使用,并且可以支持多语言。因此,它是独立于平台和语言的。 它使用 XML 格式通过 HTTP 协议发送消息。 SOAP 消息的结构由信封、标头和正文元素组成。

SOAP 构建块

SOAP 构建块描述发送到 Web 服务和客户端应用程序的 XML 数据。下图表示 SOAP 构建块。
SOAP and REST Web Services
SOAP Envelope: Envelope 用于定义 SOAP 消息的开始和结束。它包含 SOAP 消息的详细信息。它是 XML 文档的重要元素。
SOAP Header: 它是一个可选元素,其中包含授权、身份验证等凭据信息。
SOAP 消息体: 它是 SOAP 消息的重要元素,包含 XML 格式的请求和响应信息。它定义了要在客户端和网络服务器之间发送的消息的实际内容。
SOAP Fault: SOAP Fault 元素是一个可选元素,用于显示遇到的错误消息在 SOAP 消息传输期间。它保存 SOAP 消息和错误的状态。
以下是 SOAP Fault 元素的子元素。
子故障元素 说明
<faultcode> 用于识别SOAP消息中的故障代码。
<faultstring> 用于提供人类可读的错误描述。
<faultactor> 它是 SOAP Fault 中的一个可选元素,表示消息处理过程中发生的错误。
<detail> 用于保存 Body 元素的应用程序特定状态错误。

SOAP 结构:

以下代码表示 SOAP 结构。
<?xml version="1.0"?>
<SOAP:Envelope
xmlns:SOAP="http://www.w3.org/2003/05/SOAP-envelope/"
SOAP:encodingStyle="http://www.w3.org/2003/05/SOAP-encoding">
<SOAP:Header>
...
</SOAP:Header>
<SOAP:Body>
...
  <SOAP:Fault>
  ...
  </SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
    

SOAP 请求示例

<?xml version = "1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlSOAP.org/SOAP/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <ns2:getCourseDetailsResponse xmlns:ns2="http://in28minutes.com/courses">
            <ns2:course>
                <ns2:id>Course1</ns2:id>
                <ns2:name>Spring</ns2:name>
                <ns2:description>10 Steps</ns2:description>
            </ns2:course>
        </ns2:getCourseDetailsResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
    

SOAP 的优点

SOAP 协议的优点是:
W3C 联盟建议使用 Web 服务和应用程序编程接口与客户端应用程序进行通信。 它是一种轻量级通信协议,用于通过网络在两台机器之间交换数据。 它是一个独立于平台的操作系统,可以在 Linux、Windows 和 macOS 上运行。 SOAP 使用默认协议通过网络发送消息,所有网络应用程序也支持它。 它具有 XML 格式,在消息处理过程中包含信封、标头、正文和错误元素作为 SOAP 消息

SOAP 的缺点

SOAP 协议的缺点是:
SOAP 在 Web 服务中仅使用 XML 格式的数据,而它不支持 JSON 和其他轻量级格式。 速度很慢,因为它使用 XML 格式,而简单字符串消息的负载很大。 SOAP 规范中没有安全功能。 SOAP 客户端中没有远程对象的状态引用。

REST Web 服务

REST 代表 REpresentational State Transfer。它是一种架构风格,在 Web 服务上的计算机系统之间提供标准。它是一组约束,用于创建便于通信的轻量级、可扩展和可维护的 Web 服务。它是一组约束,用于创建轻量级、可扩展和可维护的 Web 服务,使彼此之间可以轻松通信。所有的 Web 服务都基于 REST;因此它被称为 RESTful 服务。开发RESTful web service的目的是让web service更有效。 Roy Fielding 于 2000 年开发了它,他还开发了 HTTP 协议。它不依赖于使用的特定协议,而是使用 HTTP/HTTPS。
SOAP和 REST Web 服务

REST 特性

这是一个无状态服务器。 支持 JSON 和 XML 它比 SOAP 简单。 它有维护良好的文档,可以反映 REST 架构中的每一个变化。 这是一种构建客户端和服务器服务的简单方法。 它遵循标准协议,例如 HTTP、HTTPS 和 FTP。 它提供了一种连接服务器端应用程序的方法。 与 SOAP 相比,它基于架构风格来设计简单、轻量级的分布式 Web 服务。 REST 系统的示例有-Google Glass API、Amazon Web 服务、Atom、Tesla Model S。

约束和 REST 原则

客户端-服务器 无状态服务器 可缓存 统一界面 分层系统
客户端-服务器模型:
客户端: 客户端机器或用户向网络服务器发送特殊请求并等待网络服务器的响应。 服务器: 服务器是为多个客户端提供不同服务的网络资源的集合。它接收来自客户端计算机的多个请求,并将该请求响应给客户端。
无状态服务器: 从客户端向服务器生成的每个请求都应包含服务器易于理解的所有必要信息。
缓存响应: 从 Web 服务器收到的任何响应都必须验证该响应是否可缓存。缓存可以帮助客户端和服务器更快地响应,以免向 Web 服务器生成流量。例如,当客户端在服务器上重复询问相同的请求时,该请求已经被服务器响应。同样,相同的请求将发送到服务器,这会增加整个网络的流量。
统一接口: 这种技术代表了如何使用 REST Web 服务HTTP 协议。
资源标识符-URL/URI 资源表示和操作-它定义了 URL 标识数据资源。并且可以直接从请求到服务器的客户端 URL 操作该数据。 它有助于管理客户端和服务器之间的通信。
分层系统
它用于容纳额外的层,例如代理服务器、防火墙、网关和缓存系统。 Code on Demand: 这是一个可选的代码按需约束,允许客户端请求和执行服务器的代码。此外,服务器可以将新功能部署到客户端的机器上。

REST web服务的HTTP方法

GET: 用于从资源服务器获取信息。
POST: 用于在资源服务器上创建或插入新信息。
DELETE: 用于从资源服务器中删除记录或信息。
PUT: 用于操作或更新服务器上现有的记录。

REST 的优势

与 SOAP 相比,REST 网络服务速度更快,因为它没有像 SOAP 那样的限制。它消耗更少的带宽和资源。 它是一种用于创建轻量级、可扩展和可维护的网络服务的架构风格。 它是一种独立于语言和平台的网络服务,可以用任何编程语言编写并在 Windows、Linux 和 Mac 上运行。 REST 网络服务可帮助客户端机器从网络服务器访问不同格式的数据,例如 HTML、JSON、XML 等。

SOAP 和 REST Web 服务的区别

SOAP 网络服务 REST 网络服务
它代表简单对象访问协议。 它代表 REpresentational State Transfer。
它是基于 XML 的消息传递协议。 这不是协议。它是分布式超媒体系统的一种架构风格。
它需要更多的带宽和资源才能获得更好的网络性能。 与 SOAP 相比,REST 需要更少的带宽和资源。
SOAP 将 XML 强制为消息格式。 没有特别规定消息格式必须是XML或JSON等
与 REST 相比,它没有很好的性能。 与 SOAP 相比,它具有更好的性能、更少的 CPU 密集度、更少的代码等。
SOAP 定义了它的安全性。 REST 从底层传输继承安全措施。
不支持错误处理。 它具有内置的错误处理功能。
SOAP 是一种重量级的 XML 协议,需要更多的编码才能发送消息。 它是一个轻量级、可扩展和可维护的。
无法缓存。 可以缓存。
SOAP 消息被封装在一个信封中并发送到任何传输机制,例如 SMTP、FTP、HTTP 或任何协议。 两台机器之间的通信依赖于HTTP协议。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4