Java 链接 IBM MQ 时出现 2035 或 2013 认证错误的解决

Java 链接 IBM MQ时出现 2035 2013认证错误的解决
com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013:
为队列管理器“QM1”提供的安全性认证无效,链接方式为“Client”,主机名为“9.186.105.212(1414)”请检查提供的用户名和密码在您链接至的队列管理器中是否正确。
 atcom.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:540)
 at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)
 atcom.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:440)
 atcom.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7062)
 atcom.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6453)
 atcom.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:295)
 at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6230)
 atcom.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:114)
 at com.jn.test.MQPublisher.main(MQPublisher.java:39)
 Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ
调用失败,完成代码为“2”“MQCC_FAILED”),缘由为“2035”“MQRC_NOT_AUTHORIZED”)。
 atcom.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)
 ... 7 more
 
 
 
解决方法:
 (1)
登陆服务器进入 IBM mq所在目录linux通常在/opt/mqm下),再进入bin目录切换到mqm用户(su mqm),输入runmqscQM1 (QM1 是你的队列管理器的名字),进入命令模式,输入 disqmgr 查看资源管理器的属性CHLAUTH默认值是ENABLED的改为DISABLED输入命令  ALTER QMGRCHLAUTH(DISABLED)  ,而后测试是否可用,若是还不能够请看第二步。java

wKiom1ckUyzSG3BAAACXRDlGGdQ164.png

(2)
输入 ALTERCHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')
 
SYSTEM.DEF.SVRCONN
是通道的名字
 
SVRCONN
是通道的类型
 
mqm
mq的用户
 
通常linux安装完mq都会自动出现mqm用户。linux

若是你是使用 IBM WebSphere MQ Explorer 进行设置建立的队列管理器,那么你须要修改队列管理器的属性-->通讯-->通道认证记录改成禁用(默认是启用的)。安全

 

参考博文:http://blog.csdn.net/zzhhcc0707/article/details/8267727服务器

相关文章
相关标签/搜索