【问题标题】:WCF communication with java web serviceWCF 与 java web 服务的通信
【发布时间】:2010-09-21 19:00:15
【问题描述】:

背景 我主要是一名 .Net 开发人员,在 Java 方面经验有限。我有一个 WCF Web 服务,它需要与第 3 方消息队列服务器通信才能发送和接收文件。第 3 方提供了 Java API 以访问他们的消息队列服务器。

我已经对前进的最佳方式进行了一些研究,现在我想从有类似情况的任何人那里获得一些反馈。

经过一番挖掘后,我确定一种选择是在 Eclipse 中创建一个 Java Web 服务并将其托管在 Glassfish 上。此 java webservice 将引用:

  1. 第3方提供的java api,从而允许第3方将xml文件发送给我们。
  2. 我现有的 WCF 服务,以便传递要处理的 xml。

所以传入的 xml 文件将如下所示:

第三方 -> Java WS -> WCF WS

这个传入流只是等式的一半,因为我的 WCF Web 服务也可以启动与第三方的通信。所以我也需要一个外流。

  1. 一种选择是从我的 WCF 服务中引用 Java WS。但是,这 2 个 Web 服务将各自相互引用。当 2 个 Web 服务相互引用时,这是否被视为循环引用(不好的做法)?
  2. 如果选项 1. 被认为是不好的做法,我的另一个选择是让其中一个 Web 服务轮询另一个服务。
  3. 其他选项?

问题总结 1. 对上述循环网络参考问题有任何见解吗? 2. 我总体上是在正确的轨道上吗? 3. 有什么建议或者个人经验可以提供吗?

非常感谢您的洞察力。

【问题讨论】:

    标签: c# java wcf web-services glassfish


    【解决方案1】:

    我的第一个想法是,如果它是一个快速的 RPC 类型调用,只要您为回调调用不同的 Web 服务,我就不会太担心循环引用。从技术上讲,您是“按合同”发送消息,因此作为一种良好做法,将您的合同定义放在与您的服务实施不同的项目中。

    如果 .NET 处理需要一些时间,那么使用消息队列和工作服务可能也是值得的。

    另一个考虑因素是找出他们实际使用的 MQ 基础架构。您可以完全避免使用 Web 服务,因为许多 MQ 提供程序都有 .NET 连接器,例如

    MSMQ(显然)

    ActiveMQ http://activemq.apache.org/nms/

    & WebSphere MQ http://www.redbooks.ibm.com/abstracts/sg247012.html

    仅举几例。还有 MSMQ 网桥。

    【讨论】:

    • 感谢您的回复!很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多