IBM Web MQ печатает исключения по-разному в разных системах - PullRequest
0 голосов
/ 02 октября 2018

У меня одна и та же часть программного обеспечения, запущенная на нескольких машинах, но способ сообщения об ошибках несовместим.

Все, что делает программное обеспечение, это распечатывает исключение, которое выдается при (например) попытке подключенияв очередь сообщений.

Некоторые машины сообщают об ошибке с текстовым описанием

MQRC_DATA_LENGTH_ERROR ---> IBM.WMQ.MQException: MQRC_DATA_LENGTH_ERROR

Другие просто сообщают код ошибки.

2538 ---> IBM.WMQ.MQException: 2538

Я не уверен, почему это так, но я верю в этосвязано с обновлением DLL-библиотеки amqmdnet с версии 8 до версии 9.Кажется, он был правильно настроен на всех системах, и я не могу найти ни одной используемой библиотеки v8.Я что-то упускаю?Где-то еще я должен смотреть?Что еще я могу сделать?

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Да, могут быть изменения в «тексте сообщения» MQException между MQ V8 и V9.

Вы не показываете свой код, но просто выкидываете исключение?

т.е.

catch (MQException e)
{
   System.Console.Out.WriteLine(e);
}

Правильный способ обработки исключения MQ заключается в следующем:

catch (MQException e)
{
   System.Console.Out.WriteLine("MQException CC=" + e.CompletionCode + " : RC=" + e.ReasonCode);
}
0 голосов
/ 02 октября 2018

Кажется, проблема заключалась в том, что IBM MQ был установлен на компьютерах, которые сообщали об ошибках с текстовыми описаниями, а не на других.

...