Java JMS无法连接到websphere mq

Java JMS无法连接到websphere mq,java,jms,ibm-mq,Java,Jms,Ibm Mq,这是我的java类的代码 我总是犯这个错误(例外) com.ibm.msg.client.jms.DetailedJMSSecurityException:JMSWMQ2013:使用连接模式“client”和主机名“localhost(1414)”向队列管理器“QM1”提供的身份验证安全性无效。 检查所连接的等待队列管理器中提供的用户名和密码是否正确。 WebSphere MQ调用失败,完成代码为“2”(“MQCC_失败”);模式“2035”(“MQRC\u未授权”)。您需要用户id和密码(

这是我的java类的代码



我总是犯这个错误(例外) com.ibm.msg.client.jms.DetailedJMSSecurityException:JMSWMQ2013:使用连接模式“client”和主机名“localhost(1414)”向队列管理器“QM1”提供的身份验证安全性无效。 检查所连接的等待队列管理器中提供的用户名和密码是否正确。
WebSphere MQ调用失败,完成代码为“2”(“MQCC_失败”);模式“2035”(“MQRC\u未授权”)。

您需要用户id和密码(取决于MQ的版本)才能连接到队列管理器。此用户id通常存在于运行队列管理器的计算机上

您需要在代码中传递用户id和密码,如下所示。替换为您的用户和密码

cf.setStringProperty(WMQConstants.USERID,"userid"); 
cf.setStringProperty(WMQConstants.PASSWORD, "password"); 
除此之外,必须授予用户连接到队列管理器的权限,并将其放入/进入应用程序正在使用的队列

我建议您与MQ管理员联系,以提供用户id/密码信息以及所需的权限

cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN");
您不应该使用系统频道。请您的MQAdmin为您的应用程序创建一个

connection = cf.createConnection();
将其更改为:

connection = cf.createConnection("myUser","myPswd");

询问MQAdmin身份验证是否针对本地操作系统或LDAP,然后使用适当的用户名和密码。

您可能应该提供用户名和密码以连接到队列。但是如何获取密码和用户名?
connection = cf.createConnection("myUser","myPswd");