WebSphere MQ调用失败,compcode为'2'('MQCC_FAILED'),原因为'2063'('MQRC_SECURITY_ERROR')

时间:2013-08-06 07:59:26

标签: websphere ibm-mq spring-jms

我是7和Webshpere MQ 6 for Java中的JMS应用程序。 我在连接队列时遇到此错误。 com.ibm.msg.client.jms.DetailedJMSSecurityException:JMSWMQ0018:无法使用连接模式“Client”和主机名“172.21.136.72”连接到队列管理器“Test_QManager”。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有运行的侦听器。有关详细信息,请参阅链接的例外。

引起:com.ibm.mq.MQException:JMSCMQ0001:WebSphere MQ调用失败,compcode为'2'('MQCC_FAILED'),原因为'2063'('MQRC_SECURITY_ERROR')。 任何帮助请。

1 个答案:

答案 0 :(得分:3)

作为一般规则,队列管理器提供了任何安全错误的最详细信息。原因是管理员需要尽可能多的信息,但攻击者应尽可能少地获取信息。

这为我们提供了一个很好的诊断工具来解决这类错误。在客户端,您得到一个非常稀疏的“安全错误”,几乎没有解释,请查看队列管理器的日志。如果他们在客户端同时记录了详细错误,那么您就知道请求发送给MQ以及MQ为何拒绝它。

但是,如果QMgr日志没有记录错误,那么您就知道要将精力集中在客户端。

如果这是授权错误,您将获得20352063与安全性有关,但与授权无关。这使得客户端无法找到或打开其密钥库,或者密钥库上的文件权限允许全局读取。可能是客户端JSSE提供程序与MQ不兼容。

建议的诊断是使用MQ附带的示例程序执行验证测试。如果这些可以重新创建问题,那就是配置或环境。如果它们有效,则问题可能出现在代码,应用服务器配置或托管对象中。打开客户端跟踪应该会有很大帮助,只需记住之后禁用它,