gpt4 book ai didi

c# - WCF 与 Java Web 服务通信

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:59 25 4
gpt4 key购买 nike

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

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

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

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

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

第 3 方 -> Java WS -> WCF WS

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

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

问题总结1. 对上面的循环网络引用问题有任何见解吗?2. 总的来说,我走的路正确吗?3. 您有什么建议或个人经验可以提供吗?

非常感谢您的见解。

最佳答案

我的第一个想法是,如果它是一个快速 RPC 类型调用,只要您为回调调用不同的 Web 服务,我就不会太担心循环引用。从技术上讲,您是“通过契约(Contract)”发送消息,因此,最好将契约(Contract)定义放在与服务实现不同的项目中。

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

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

MSMQ(显然)

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

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

仅举几例。还有 MSMQ 桥接器。

关于c# - WCF 与 Java Web 服务通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763524/

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