【发布时间】:2016-09-21 10:10:56
【问题描述】:
我最近遇到了我尝试从一个 MQManager 发送到另一个 MQManager 的消息数据编码错误的问题。
我发送消息的 C# 代码如下:
var mqMessage = new MQMessage()
{
CharacterSet = MQC.MQCCSI_Q_MGR,
Format = MQC.MQFMT_STRING
};
mqMessage.MessageId = Encoding.Default.GetBytes(message.MessageId);
mqMessage.WriteString(message.Message);
writeQueue.Put(mqMessage, _putMsgOptions);
尽管两个 MQManager(源和目标)在配置集中具有相同的代码页 (852),但目标 MQManager 上的消息“WARSZAWA”被解码为“WAęS]AWA”。
我的问题在哪里?
【问题讨论】:
-
MQMessage 类没有 MessageIdEncoding 属性。试图编译你的 sn-p 但它没有编译。我猜你在 MessageId 之后错过了一个等号,该行应该是 mqMessage.MessageId = Encoding.Default.GetBytes(message.MessageId);
-
是的,我已经编辑过了。