在.NET应用程序中使用Websphere MQ和JMS

jon*_*nii 6 .net c# jms ibm-mq

我正在尝试通过使用JMS作为传输协议的Websphere MQ向java服务器发送消息.我很高兴使用IBM提供的库在MQ上删除消息,但服务器拒绝它们.我假设(希望是正确的)这是因为我在MQ消息上缺少各种JMS特定的头/属性.

我已确保了信息的有效载荷是通过检查队列(他们都是地图信息是否有帮助)相同,但不想完全执行JMS的WebSphere MQ协议只是为了得到这个工作.

我想知道是否有人设法让这个工作,如果是这样,你需要在JMS头中指定的最小信息量是多少?有没有其他替代方法可以直接在MQ上执行此操作(我已经看过一些关于使用java互操作的东西,但这是我认为会有点过分的事情).

任何帮助将不胜感激!

Tom*_*gie 2

您可以粘贴您用来读取消息的 Java 代码吗?该代码是否假设该消息是“MapMessage”。通常,从非 Java 客户端放入队列的内容将显示为 TextMessage 或 BytesMessage。

只要您以 TextMessage / BytesMessage 的形式读取,WebsphereMQ JMS api 通常就可以读取那些没有 JMS 标头的消息。

在我的服务器代码中,我的内容通常作为字节放入队列,因此显示为 BytesMessage,但以防万一我收到手动放入队列的消息,我捕获 classcastException,并测试是否它实际上是一条 TextMessage。