java - SOAP 使用适配器休息服务

标签 java web-services rest soap jersey-2.0

我有一个遗留项目,其中暴露了 SOAP Web 服务。现在我需要将它们转换为休息并相应地使用它。

我可以使用像 Jersey 这样的实现来使用这些 SOAP 服务,然后发布与 REST 相同的服务吗?

最佳答案

这是处理遗留 API 时的常见问题。由于 REST 不是定义上的协议(protocol),因此您可以实现:

  • 协议(protocol)桥接模式 .这是一种常见的 SOA 模式,可通过使用桥接代理作为中介来帮助您在不同协议(protocol)之间进行转换。代理持有转换逻辑。您可以找到more information here .大多数 ESB 和 EAI 中间件都提供这种桥接器。
    Protocol Bridging Pattern
  • 数据格式转换模式 .它在数据格式之间进行转换,您可以使用它将 XML 转换为您正在使用的 REST 格式。您可以通过放入一些内部服务逻辑、服务代理或专用转换服务来实现它。 You can see more here. .您绝对可以使用 Jersey 来构建 REST Facade 并在内部从 XML 进行转换,或者在每个服务内部构建逻辑。
    Data Format Transformation Pattern

  • 这实际上取决于您的 API 的大小和您需要的解决方案的类型。对于少数服务,我会选择第二种方法——它更容易但耦合度更高,而如果我有很多服务,我会选择第一种方法,在我看来它可以更好地抽象转换逻辑,但它可能需要额外的中间件和努力.

    关于java - SOAP 使用适配器休息服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40115600/

    相关文章:

    rest - gorilla /多路复用器请求与网址格式不匹配

    javascript - 从 Python 上的 post 方法获取变量

    java - 文件打开时的文件 I/O(HTML5 Ogg 直播)

    java - 如何在 Java 中正确处理定时器?

    web-services - 休息最佳实践 : when to return 404 not found

    javascript - JavaScript 中 "in"的解释

    c++ - 如何使用 POCO 库将 C++ 对象传输到 Web 服务

    java - java中数据库中的洗牌

    javascript - Webview 无法在 onPageFinished 加载 javascript

    c# - Windows Azure REST API SharedKeyLite 身份验证(存储模拟器)