Подключение к удаленному администратору очередей с использованием C # и .Net - PullRequest
6 голосов
/ 04 ноября 2010

Я написал приложение, которое подключилось к локальному администратору очередей, используя этот вызов функции:

MQQueueManager mqQMgr = new MQQueueManager("QM_QueueManagerName");

Теперь мне нужно подключиться к удаленному администратору очередей на другом компьютере.

Я могу успешно подключитьсяс помощью MQ Explorer с моего компьютера разработчика, используя QM_ComputerName в качестве имени администратора очередей, S_ComputerName в качестве канала и ComputerName в качестве имени соединения.Так что он доступен с моего рабочего стола.

Однако, когда я пытаюсь подключиться через .Net, я получаю MQRC_Q_MGR_NAME_ERROR независимо от того, что я пытаюсь.

Я пытался указать

MQEnvironment.Hostname = "ComputerName";
MQEnvironment.Channel = "S_ComputerName ";

and then calling

mqQMgr = new MQQueueManager("QM_ComputerName");

I also tried  calling 

mqQMgr = new MQQueueManager("QM_ComputerName", "S_ComputerName", "ComputerName");

Я получаю ошибку в обоих случаях.

Кто-нибудь может посоветовать?

Ответы [ 2 ]

4 голосов
/ 05 ноября 2010

Вот как я заставил его работать:

 MQQueueManager mqQMgr=null;

   Hashtable props = new Hashtable();

props.Add(MQC.HOST_NAME_PROPERTY, "HostNameOrIP");

   props.Add(MQC.CHANNEL_PROPERTY, "ChannelName");

   props.Add(MQC.PORT_PROPERTY, 1414); // port number

   props.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);

   MQQueue mqQueue = null;

   try

   {

      mqQMgr = new  MQQueueManager("QueueManagerName", props);

      mqQueue = mqQMgr.AccessQueue(
               QueueName,
               MQC.MQOO_OUTPUT                   // open queue for output
               + MQC.MQOO_FAIL_IF_QUIESCING);   // but not if MQM stopping
   }

   catch (MQException mqe1)

   {

   }
3 голосов
/ 05 ноября 2010

Возможно этот пример кода поможет.

Я связан с документами V7.В идеале вы будете использовать как клиента V7, так и общаться с сервером V7, потому что в них значительно улучшена функциональность .Net по сравнению с V6.Кроме того, по состоянию на сентябрь 2011 года выпуск V6 истек, поэтому было бы хорошо перейти прямо к v7 и избежать обновления позже.

Если вам нужен клиент v7 WMQ, который включает в себя обновленный .Netобразцы и классы, перейдите на страницу Загрузки клиента IBM MQ (требуется IBM ID, но ее можно загрузить бесплатно).

ОБНОВЛЕНИЕ 20180810: Измененоссылка, указывающая на новую страницу IBM для всех загрузок клиента IBM MQ.

...