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服務器

相關文章
相關標籤/搜索