将点从 C# .Net 应用程序传递到 IBM MQ 时附加到 MQ 消息的末尾

Dot appended to the end of MQ message when passing it from C# .Net application to IBM MQ

我正在将消息从 C# .NET 4.0 传递到 MQ 版本:7.5.0.5。代码片段

queue = queueManager.AccessQueue(strQueueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);

queueMessage = new MQMessage();

queueMessage.Format = MQC.MQFMT_STRING;
queueMessage.MessageType = 8;

queueMessage.CharacterSet = 1208; 

queueMessage.WriteUTF(message);

queuePutMessageOptions = new MQPutMessageOptions();
queue.Put(queueMessage, queuePutMessageOptions);
messageWrittenSuccessfully = true;
queue.Close();

我收到的消息是字符后跟点 C.E.R.1.2.3.4.而不是 CER1234

不确定这是否与编码或 CCIS 问题有关。

将 ASCII 字符集设置为 437。 Here 是对您的问题的详细解释。

此外,您应该使用为消息类型定义的 MQ:

queueMessage.MessageType = MQC.MQMT_DATAGRAM;