【问题标题】:RESTful API and SOAP serviceRESTful API 和 SOAP 服务
【发布时间】:2015-01-17 13:47:03
【问题描述】:

我正在学习 SOAP,我有一些问题:

  1. 如果我有一个 SOAP 服务,并且如果我的理解是正确的,那么消费者是否需要导入 WSDL 并生成存根来使用我的服务?

    李>
  2. 如果现在我在 ESB 的帮助下通过 RESTful API 公开了 SOAP 服务。这是否意味着消费者不再需要导入任何 WSDL 来生成存根?

【问题讨论】:

  • 是的,您将需要一个公开的 wsdl 来使用和生成存根。
  • @Bruce_Wayne 你的意思是消费者仍然需要找到 wsdl 并生成存根,以防万一我有服务的 RESTful API?
  • 我的回复是针对#1,但是对于第二种情况,就我对 RESTful API 的了解而言,不需要 WSDL。消费者只需要 REST 服务的 URL。它现在取决于您的 REST 服务如何通过 ESB 与 SOAP 服务进行通信。
  • 据我所知,ESB 或 REST 服务现在需要 WSDL,而不是消费者。因为消费者将使用通过 url 与 REST 服务进行交互。 (消费者 -> REST(通过 URL)-> ESB -> SOAP(通过 WSDL))。
  • 在您的 #2 上,REST 不会生成存根。您必须手动编写 REST 调用。如果要生成存根,请坚持使用 SOAP。

标签: web-services rest soap soa esb


【解决方案1】:
  1. 是的 - SOAP 规范 (wsdl) 背后的理念是,客户端可以使用它来创建调用服务的代理,而不必自己弄清楚细节。不使用 wsdl 很难连接到 SOAP 服务
  2. 在这种情况下,ESB 会调用实际服务,而 REST 接口是客户端应该用来与服务通信的新接口。

【讨论】:

  • 感谢您的回答。它让我相信我的想法是正确的。但是介意告诉我 SOAP API 和 SOAP 服务有什么区别吗?我认为两者的消费方式是一样的(导入wsdl,生成存根等)
  • SOAP API 是由基于 SOAP 的服务的 WSDL 表示的服务的端点
  • @xcoder SOAP API 通常是一个或多个 SOAP 服务的集合。所以是的,您可以通过使用构成 API 的服务来使用 SOAP API。
  • @Namphibian 感谢您的评论。 “服务集合”...你的意思是如果一个 SOAP API 有 2 个服务,我首先需要导入 2 个 wsdls 并生成存根,然后调用相关操作?
  • @xcoder 它可能是一个 wsdl 或 100 个 wsdl 文件。您只会为您使用的 api 部分生成代码。 wsdl 可能涵盖部分或全部 api。通常,您将拥有一个服务目录,即 wsdl 文件,您可以从中挑选。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-25
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多