IBM Websphere MQ 2035错误解决方法

症状

JMSCMQ0001:使用compcode'2'('MQCC_FAILED')原因'2035'('MQRC_NOT_AUTHORIZED')的WebSphere MQ调用失败

【小技巧:如果想知道MQ返回的码是什么意思,可以在主机上执行  ‘mqsc 2035‘,查看数字背后的真正含义,数据可以随便换】

原因

MQ连接被拒绝的两个最可能的原因如下(IBM网站上抄来的):

  1. 在客户机连接上从应用程序服务器传递到MQ的用户标识在运行MQ队列管理器的服务器上未知,未被授权连接到MQ或超过12个字符并已被截断。
  2. 通过客户端连接从应用程序服务器传递到MQ的用户标识符是承载MQ队列管理器的服务器上的“mqm”组的成员,并且存在阻止对队列管理器的管理访问的通道认证记录(CHLAUTH)。WebSphere MQ 在WebSphere MQ V6.1 及更高版本中默认配置CHLAUTH记录,阻止所有MQ管理员作为客户机连接到队列管理器。在这种情况下可能会看到MQ错误日志中的以下错误:AMQ9777:通道被阻止

诊断问题

咋解决呢?

  针对原因1,可以将应用传递给MQ队列管理器的用户名加入MQ所在机器上的有权限的用户组里,Linux默认一般是mqm组。用户名要是长了,自行解决。

  针对原因2,我一般用下面两条命令,直接关闭通道权限认证:

alter qmgr chlauth(disabled)

refresh security type(connauth)

 

posted @ 2017-09-22 15:39  尽情折叠我吧  阅读(3593)  评论(0编辑  收藏  举报