【问题标题】:how to use Servicemix to make SOAP Web Services comunicate如何使用 Servicemix 使 SOAP Web 服务进行通信
【发布时间】:2018-09-29 06:21:46
【问题描述】:

我想构建一个由多个通过 Servicemix 交换 SOAP 消息的 WebServices 组成的系统。这些 WS 不是本地的,但它们是远程的。所以我的想法是提供 Servicemix 作为服务本身,所有其他人都会向它发送消息。它将由 Servicemix 将肥皂消息传递给正确的服务,记录并通知传递的成功/失败。

这可行吗?这是对 Servicemix 的正确使用吗?我找不到这个配置的好例子或教程。

我可以使用 Maven 原型从 wsdl 轻松构建 WS

servicemix-cxf-wsdl-first-osgi-bundle

它们可以部署在 Servicemix 上……但它们都将是本地的!我想让远程 WS 通过共享总线交换消息。 谢谢你

【问题讨论】:

    标签: java web-services cxf apache-servicemix


    【解决方案1】:

    当然,这本质上是 ServiceMix 的模式。您在中介和路由方面寻找的大部分内容都是通过 Apache Camel 实现的。您需要将远程 Web 服务托管在单独的 Web 容器中,例如 Tomcat 或 Jetty。接下来,您将服务端点实现为部署到 ServiceMix 的 OSGi 包。这些 OSGi 包公开了您的服务接口。当 SOAP 请求进入 OSGi 包端点时,您可以使用 Camel 路由规则将 SOAP 消息路由到适当的远程 Web 服务端点。

    对于这方面的一些示例,我建议查看 JBoss Fuse 文档:

    http://www.jboss.org/products/fuse/resources/

    Fusesource 曾经是围绕 ServiceMix 的支持组织;然而,他们后来被 RedHat 收购了。您将找到比 ServiceMix 文档本身更好的文档和示例。

    【讨论】:

    • 谢谢@MichaelHoffman,现在更清楚了。所以,我猜 Servicemix 让不同的服务(soap、rest、..)进行通信,根据需要实现 OSGI 包。关于示例,您是指 Servicemix 4 示例支付服务 吗?我正在检查您指出的文档,但它假定使用了 Fuse IDE。我需要一个 ServiceMix 的例子
    • Fuse 本质上是 servicemix;但是,不是 IDE 本身。我现在没有例子可以给你。我希望 Fuse 的例子能给你一些启发。
    • 好的,现在谢谢你。至少,我了解架构。
    【解决方案2】:

    使用Apache Camel 进行路由、转换等:

    Camel 是智能路由和中介引擎,它实现了企业集成模式,旨在用于像 ServiceMix 这样的 ESB、像 ActiveMQ 这样的消息代理或像 CXF 这样的智能端点或 Web 服务框架中。 ServiceMix 是一个 ESB、一个 JBI 容器和一个集成平台。因此,尽管它们都旨在很好地协同工作,但它们都解决了不同的需求。

    【讨论】:

    • 所以我应该使用 Camel 制作 OSGI 包以部署在 ServiceMix 上,这将通过路由将消息重定向到远程 WS。我对吗?谢谢
    • @DeLac Camel 路由将部署为 OSGI 包; Camel 不是构建工具,您不使用 Camel 来制作(= 创建?)包。是的,骆驼路线重定向消息。
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2011-05-16
    相关资源
    最近更新 更多