WCF与Java Web Service的通信

问题描述 投票:1回答:1

背景我主要是.Net开发人员,对Java的经验有限。 我有一个WCF Web服务,该服务需要与第三方Message Queue Server通信才能发送和接收文件。 第三方提供了Java API,以便访问其Message Queue Server。

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

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

  1. 第三方提供的Java API,因此允许第三方将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个回答
1
投票

我首先想到的是,如果这是一个快速的RPC类型调用,假设您要为The Call回叫一个不同的Web服务,那么我不会太在意循环引用。 从技术上讲,您是按合同方式发送消息的,因此,作为一种好的做法,请将合同定义放在与服务实现不同的项目中。

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

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

MSMQ(显然)

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

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

仅举几个。 也有MSMQ桥。

© www.soinside.com 2019 - 2024. All rights reserved.