Недавно я столкнулся с проблемой неправильного кодирования данных сообщений, которые я пытаюсь отправить из одного MQManager в другой.Неверное кодирование в сообщении Websphere.MQ
Мой 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);
Несмотря на то, что оба MQManagers (источника и назначения) имеет страницу тот же код (852) в наборе конфигурации, сообщение «WARSZAWA» в пункте назначения MQManager декодируется как «WAęS AWA».
Где я делаю проблему?
Класс MQMessage не имеет свойства MessageIdEncoding. Попробовал скомпилировать ваш фрагмент, но он не компилируется. Я думаю, вы пропустили равные после MessageId, строка должна была быть mqMessage.MessageId = Encoding.Default.GetBytes (message.MessageId); – Shashi
Да, конечно, я отредактировал его. – Sudet