【问题标题】:.NET Websphere MQ to create a message recognized as JMS BytesMessage?.NET Websphere MQ 创建识别为 JMS BytesMessage 的消息?
【发布时间】:2015-04-20 01:18:01
【问题描述】:

我们有 .NET MQ 客户端向 MQ 队列发送消息,它工作正常。 在接收端,我们有一个 JMS 客户端,它需要接收 BytesMessage。 我想知道发送方是否可以设置一些 MQ 标头,以便在接收端始终将生成的消息识别为 BytesMessage? 目前它默认为 TextMessage。

【问题讨论】:

    标签: .net jms ibm-mq


    【解决方案1】:

    下面的sn-p可以用来写字节消息。

      MQMessage msg = new MQMessage();
      msg.Format = MQC.MQFMT_NONE; // Ensures jms_bytes type message is delivered to JMS application
      msg.WriteBytes("HelloWorld in bytes");
      MQPutMessageOptions pmo = new MQPutMessageOptions();
      queue.Put(msg,pmo);
    

    【讨论】:

    • 是的,如果 MQMD.Format 设置为 None,则 MQ JMS 默认创建 jms_bytes 类型的消息。
    • 我也想知道在这种情况下是否可以保留 RFH2 标头?当我设置这种格式时,它看起来被丢弃了。
    • 如果您的意图是添加 JMS 特定的 RFH2 标头,那么您可能需要查看 XMS .NET API。 XMS .NET 在 C# 中实现 JMS 规范。
    【解决方案2】:

    你有没有尝试过:

    MQMessage msg = new MQMessage();
    byte[] serialisedContext= Encoding.UTF8.GetBytes(YourMessage);
    msg.Write(serialisedContext, 0, serialisedContext.GetLength(0));
    

    【讨论】:

      猜你喜欢
      • 2019-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多