Невозможно отправить сообщение с AMQP.Lite и IBMMQ 8.0 - PullRequest
0 голосов
/ 14 февраля 2019

Я разрабатываю новый сервис, основанный на нашей инфраструктуре, который использует IBMMQ 8.0 (я должен признать, что я не гуру IBMMQ, и я использовал его как простую интеграцию без погружения в его реализацию).

Я сейчас пытаюсь использовать его с amqpnetlite (чтобы использовать его с .NET Core).

До сих пор вот мой фрагмент

 Address address = new Address("amqp://10.112.62.102:1414");
        Connection connection = new Connection(address);
        Session session = new Session(connection);

        Message message = new Message("Hello AMQP!");
         var sender = new SenderLink(session, "AONMQCOL1", "MQ_TEST");
        sender.Send(message);
        Console.WriteLine("Sent Hello AMQP!");

Я получил исключение AmqpException: транспорт 'TcpTransport' закрыт.при выполнении отправки.На объекте соединения у меня IsClosed = false, поэтому я думаю, что соединение открыто.

Так же, как подтверждение, что я должен указать как "адрес" и "имя" в конструкторе SenderLink?

Спасибо

1 Ответ

0 голосов
/ 15 февраля 2019

Какая точная версия MQ Server вы используете?т. е. введите команду dspmqver .

Вы должны быть на командном уровне 801, который был добавлен в Fixack 2 IBM MQ v8.т.е. IBM MQ v8.0.0.2.Подробнее см. здесь .

Запустили ли вы службу AMQP, а затем запустили канал?

т.е. runmqscкоманды:

START SERVICE(SYSTEM.AMQP.SERVICE)

START CHANNEL(SYSTEM.DEF.AMQP)

Наконец, вы подключаетесь к правильному порту #?Порт по умолчанию № 5672.

...