【问题标题】:How to fix 'JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED')'如何修复“JMSCMQ0001:WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2035' ('MQRC_NOT_AUTHORIZED')'
【发布时间】:2019-06-25 09:00:49
【问题描述】:

我正在运行一个带有 MQ 7.1 的 Docker 容器,我正在尝试使用将发送消息的 Java 应用程序将测试消息发送到队列。 docker 容器在 RHEL 服务器上运行,我正在尝试使用本地 Eclipse 中的 Java 应用程序从我的 Windows PC 发送消息。

我在创建 MQQueueConnection 时出错了,因为我收到以下错误:

Exception in thread "main" com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: The security authentication was not valid that was supplied for QueueManager '' with connection mode 'Client' and host name 'x.x.x.x(1414)'.
Please check if the supplied username and password are correct on the QueueManager to which you are connecting.
    at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:516)
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:216)
    at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:423)
    at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6772)
    at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6151)
    at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:280)
    at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6143)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:115)
    at mq.MQMessageSender.main(MQMessageSender.java:107)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED').
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:204)
    ... 7 more

我已尝试更改“nobody”用户的授权并尝试使用以下命令打开大门,但它不起作用:

setmqaut -m QM1 -t qmgr -p 'nobody' +allmqi

以下一些信息:

Queue Manager: QM1
Queues: Q1, Q2
Channel name: MESSAGESENDER

【问题讨论】:

    标签: java docker jms mq


    【解决方案1】:

    刚刚修复了这个错误。我将在 docker 容器上使用的“mqm”用户添加到我的createQueueConnection 调用中,如下所示:

    MQQueueConnection queueConn = (MQQueueConnection) cf.createQueueConnection("admin1", "");
    

    【讨论】:

      【解决方案2】:

      这是 MQ 客户端不提供 conn creds 时的典型错误,当您忘记在集成控制台中指定 creds 时,它也可能发生在 WebSphere log 中

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-29
        • 2014-04-01
        • 1970-01-01
        • 2018-08-30
        • 2020-04-18
        相关资源
        最近更新 更多