gpt4 book ai didi

java - RESTful 与基于 SOAP 的 Web 服务?

转载 作者:行者123 更新时间:2023-11-29 03:32:05 25 4
gpt4 key购买 nike

伙计们,我最近浏览了 web 服务书籍,其中涵盖了基于 SOAP 的 web 服务和 RESTful web 服务。我不确定我应该选择哪个参数,因为它们看起来很相似(即使从开发人员的角度来看也是如此)。这是我的观点

在 SOAP 网络服务中,我们使用从网络服务生成的 WSDL 文件,然后基于该文件创建客户端 stub 。

My understanding is that internally stub also will use HTTP protocol to communicate with remote java webservice. Right?

HTTP 请求/响应主体中将包含 SOAP 消息(XML 消息)。因此,在基于 REST 的 Web 服务中,再深入一层,HTTP 请求本身表现为消息。这里我们使用 WADL 而不是 WSDL。在这里我们也可以创建基于 WADL 的 stub 。所以除了一些技术差异外,每件事看起来或多或少都是一样的消费者连接到生产者以及如何处理请求/响应。因此,根据我的理解,从开发人员的角度来看,基于 b/w rest 和基于 soap 的 web 服务没有太大区别(开发人员的工作量几乎相同)。

我的理解正确吗?

是的,可能在幕后,SOAP 可能比 REST 网络服务更复杂,因为在 SOAP 中,消息中有消息(SOAP 消息嵌入在 HTTP 请求中),但在基于 REST 的服务中,HTTP 请求本身作为消息工作。

最佳答案

SOAP 和 REST 旨在解决一组相同的问题,即以最简单的方式促进异构应用程序之间的交互。现在是选择 REST 还是 SOAP 不仅仅取决于开发工作量。您还应该考虑以下一些因素,

  1. 数据类型,无论是在应用程序之间交换的简单对象(如名称值对)还是非常复杂的模式(或某些二进制数据)。
  2. 您的服务的消费者。例如。 REST 更适合你开发RIA .
  3. 安全要求。 SOAP 凭借标准驱动,提供了非常细粒度的安全方面调整。您可以对 SOAP xml 消息的各个元素进行一定程度的编码。这些类型的事情在 REST 中是不可能的(至少现在是这样)。
  4. 如今,像 JSON 这样的符号在轻量级数据交换方面非常流行,许多 REST 服务框架提供了这种非常容易开箱即用的功能。
  5. 从技术上讲,您不需要任何框架等来创建 REST 网络服务。我知道 WADL 等最近出现了标准化的元素,但 REST 甚至在 WADL 出现之前就已经存在了。 REST 并不是什么新鲜事物,它是网络的工作方式。 REST 框架让这一切变得非常简单。

SOAP 由标准驱动,因此在使用它们时需要遵守更多限制。因此,如果您的用例很简单(这是非常主观的),请选择 REST。

关于java - RESTful 与基于 SOAP 的 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17669325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com