Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复';JMSCMQ0001:WebSphere MQ调用失败,代码为';2';(';MQCC#U失败';)原因';2035年&x27年;(';未经授权的MQRC';)';_Java_Docker_Jms_Mq - Fatal编程技术网

Java 如何修复';JMSCMQ0001:WebSphere MQ调用失败,代码为';2';(';MQCC#U失败';)原因';2035年&x27年;(';未经授权的MQRC';)';

Java 如何修复';JMSCMQ0001:WebSphere MQ调用失败,代码为';2';(';MQCC#U失败';)原因';2035年&x27年;(';未经授权的MQRC';)';,java,docker,jms,mq,Java,Docker,Jms,Mq,我正在运行一个带有MQ 7.1的Docker容器,并尝试使用一个Java应用程序向队列发送一条测试消息,该应用程序将发送一条消息。docker容器正在RHEL服务器上运行,我试图在本地使用Eclipse中的Java应用程序从我的Windows PC发送消息 创建MQQueueConnection时,我遇到了以下错误: Exception in thread "main" com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013

我正在运行一个带有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

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

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

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

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