Ошибка '2035' ('MQRC_NOT_AUTHORIZED') При подключении к MQ

Я получаю эту ошибку при подключении к IBM MQ. Я знаю, что это из-за привилегий, но есть ли способ проверить соединение с IBM MQ?

Просьба предложить.

Ответ 1

2035 предполагает, что ваше соединение переходит к QMgr. Если у вас неправильное имя канала, хост или порт, вы получите 2059. 2035 означает, что соединение дошло до слушателя, нашел канал с запрошенным именем и попытался установить соединение.

Если вы хотите протестировать прошлое, вам необходимо либо авторизовать идентификатор, который вы используете для подключения, либо поместить авторизованный идентификатор в атрибут MCAUSER канала.

Подробное объяснение того, как безопасность WMQ работает на клиентских каналах, см. в презентации "Упрочнение основы WMQ" на http://t-rob.net/links.

Ответ 2

Если вы включите авторизационные сообщения, 2035 появится в очереди событий. Затем вы можете посмотреть сообщение и посмотреть, какой идентификатор был использован для подключения и какие параметры были использованы. 2035 может быть потому, что вы попросили установить полномочия в диспетчере очередей или что-то еще, что вы не должны иметь. Сообщения авторизации показывают вам это.

Ответ 3

Вы также можете решить эту проблему. Установив mcauser ('mqm'), я смог преодолеть ошибку 2035.

Define channel (channel1) chltype (svrconn) trptype (tcp) mcauser(‘mqm’)

Esp thanx в мой SENIOR Билал Ахмад (PSE)

Ответ 4

Вы должны проверить привилегии с администратором MQ.

Ответ 5

Для Q/Q-менеджера, работающего в Windows, возможно, вам придется создать пользователя на машине Q/Q-manager [т.е. создать пользователя на Q-машине, чтобы он соответствовал пользователю на машине Q-клиента], а затем добавить этого пользователя в группу "mqm" на этом компьютере.

Шаги:

  • Убедитесь, что пользователь домена, который используется для создания Q-КЛИЕНТА [т. пользователь, к которому работает приложение Q-client] также существует в поле с Q/Q-менеджером. Вы можете просто создать локального пользователя в поле Q/Q-manager [или вам может потребоваться сделать более сложное создание пользователя Active Directory - я не могу вам помочь].

  • В поле Q/Q-manager добавьте пользователя, который вы только что создали [или существующий, если он уже существует] в группу mqm. [В окне сервера Windows вам нужно будет использовать консоль управления Microsoft (1. 'mmc' из командной строки, 2. Файл > Добавить/удалить SnapOn > Локальные пользователи и группы, 3. добавить пользователя в группу)]. Группа "mqm" должна уже существовать на машине Q/Q-manager.

Ответ 6

Вы можете использовать dspmqaut для проверки гранта. Ниже приведен образец, чтобы предоставить пользователю доступ к ПК Queu Manager QM1 и Queue LQ1

 # check the access right of user POC to QM1
 dspmqaut -m QM1 -n LQ1 -t q -p poc

 # if you want to give access, you should use 
 setmqaut -m QM1 -n LQ1 -t q -p poc <access Types>
 # eg (put everything - in the real live scenario, choose only what you want to grant) :
 setmqaut -m QM1 -n LQ1 -t q -p poc +put +get +browse +inq +set +crt +dlt +chg +dsp +passid +setid +setall +clr 

Тогда не забудьте перезапустить QM1 с помощью

  endmqm -i QM1
  strmqm QM1

Наконец, вы сможете продолжить работу без ошибки 2035.