VofusWeb

Soap/Rest Api

REST 与 SOAP。这已经有一段时间了。真的, 它们只是同一个问题的两个答案:如何访问网络 服务。

但决定其中之一可能非常困难。

SOAP(简单对象访问协议)是一种基于标准的网络 已经存在很长时间的服务访问协议。 SOAP 最初由 Microsoft 开发,并不像首字母缩写词那么简单 会建议。

REST (Representational State Transfer) 是另一个标准,由 针对 SOAP 的缺点。它试图解决 SOAP 的问题 并提供一种更简单的访问网络服务的方法。 

GraphQL 怎么样?
当然,GraphQL 最近引起了巨大的轰动,我们已经说过了 在其他文章中有详细介绍。但它仍然没有标准化 REST 和 SOAP,因此在本文中我们将重点关注那些 两个。

在决定使用哪种协议时,SOAP 和 REST 都有需要考虑的问题。

相似之处

虽然 SOAP 和 REST 在 HTTP 协议上有相似之处,但 SOAP 是一组比 REST 更严格的消息传递模式。 SOAP 中的规则 很重要,因为我们无法达到任何水平的标准化 没有他们。 REST 作为一种架构风格不需要处理 并且自然更加灵活。 SOAP 和 REST 都依赖于 每个人都同意遵守的既定规则 交换信息的兴趣。
 

SOAP 快速概览

SOAP 完全依赖 XML 来提供消息服务。 Microsoft 最初开发 SOAP 是为了取代旧的 在互联网上效果不佳的技术,例如 分布式组件对象模型 (DCOM) 和公共对象请求 经纪人架构 (CORBA)。这些技术之所以失败,是因为它们依赖 关于二进制消息。 SOAP 使用的 XML 消息传递效果更好 通过互联网。

在初始发布后,Microsoft 将 SOAP 提交到 Internet 工程任务组 (IETF) 对其进行了标准化。肥皂是 旨在支持扩展,因此它具有各种其他首字母缩略词和 与之相关的缩写,例如 WS-Addressing、WS-Policy、 WS-Security、WS-Federation、WS-ReliableMessaging、WS-Coordination、 WS-AtomicTransaction 和 WS-RemotePortlets。事实上,你可以找到一个 Web 服务标准中这些标准的完整列表。

要点是 SOAP 是高度可扩展的,但您只需要使用 特定任务所需的零件。例如,当使用公共 每个人都可以免费使用的网络服务,你真的没有 非常需要 WS-Security。
 

难度取决于编程语言
用于在 SOAP 中发出请求和接收响应的 XML 可以变成 极其复杂。在某些编程语言中,您需要构建 这些请求是手动的,这会产生问题,因为 SOAP 是 不能容忍错误。但是,其他语言可以使用快捷方式 肥皂提供。它们可以帮助您减少创建所需的工作量 请求并解析响应。事实上,在使用 .NET 时 语言,您甚至看不到 XML。

部分神奇之处在于 Web 服务描述语言 (WSDL)。 这是另一个与 SOAP 关联的文件。它提供了一个 Web 服务如何工作的定义,这样当你创建一个 参考它,IDE 可以完全自动化该过程。所以 使用 SOAP 的难度在很大程度上取决于您使用的语言 使用。
 

内置错误处理
最重要的 SOAP 特性之一是内置的错误处理。如果 您的请求有问题,响应包含错误 可用于解决问题的信息。鉴于你可能 没有自己的 Web 服务,这个特殊的功能非常重要; 否则,您将只能猜测为什么事情不起作用。这 错误报告甚至提供了标准化的代码,这样就可以 自动执行代码中的一些错误处理任务。

一个有趣的 SOAP 特性是您不一定必须将它与 HTTP 传输一起使用。有一个使用 SOAP over Simple Mail Transfer Protocol 的实际规范 (SMTP) 并且您没有任何理由不能将它用于其他 运输。事实上,某些语言的开发人员,例如 Python 和 PHP,正在这样做。

Soap/Rest Api
申请表

服务

类似服务

通讯

订阅以获取信息以获取最新消息和优惠