Java Websphere Mq连接错误

Java Websphere Mq连接错误,java,jms,ibm-mq,Java,Jms,Ibm Mq,当我运行以下程序时,它向我提供了jms.detailedjmscexception:JMSWMQ2020:无法使用连接模式“Client”和提供的CCDT URL连接到队列管理器“”。谁能帮我运行这个程序 MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); // Config cf.setHostName("192.163.1.173"); cf.setPor

当我运行以下程序时,它向我提供了jms.detailedjmscexception:JMSWMQ2020:无法使用连接模式“Client”和提供的CCDT URL连接到队列管理器“”。谁能帮我运行这个程序

        MQQueueConnectionFactory cf = new MQQueueConnectionFactory();

        // Config
        cf.setHostName("192.163.1.173");
        cf.setPort(1414);
        cf.setTransportType( JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
        cf.setQueueManager("TEST");
        cf.setChannel("SYSTEM.DEF.SVRCONN");

        MQQueueConnection connection = (MQQueueConnection) cf.createQueueConnection("mgm","mgm321");
        MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
        MQQueue queue = (MQQueue) session.createQueue("queue:///QUEUE4");
        MQQueueSender sender =  (MQQueueSender) session.createSender(queue);
        MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(queue);

        long uniqueNumber = System.currentTimeMillis() % 1000;
        JMSTextMessage message = (JMSTextMessage) session.createTextMessage("SimplePTP "+ uniqueNumber);

        // Start the connection
        connection.start();

        sender.send(message);
        System.out.println("Sent message:\\n" + message);

        JMSMessage receivedMessage = (JMSMessage) receiver.receive(10000);
        System.out.println("\\nReceived message:\\n" + receivedMessage);

        sender.close();
        receiver.close();
        session.close();
        connection.close();
这是错误的堆栈跟踪

com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2020: Failed to connect to queue manager '' with connection mode 'Client' and supplied CCDT URL 'http://192.168.1.173', see linked exception for more information.
Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
    at  com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:578)
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:214)
    at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:408)
    at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6398)
    at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:5740)
    at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl._createConnection(JmsConnectionFactoryImpl.java:293)
    at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:234)
    at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6016)
    at com.ibm.mq.jms.MQConnectionFactory.createConnection(MQConnectionFactory.java:6065)
    at IBMMessageSender.<init>(IBMMessageSender.java:32)
    at IBMMessageSender.main(IBMMessageSender.java:21)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2278' ('MQRC_CLIENT_CONN_ERROR').
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:202)
    ... 14 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2278;AMQ9516: File error occurred. [1=java.io.IOException[Server returned HTTP response code: 403 for URL: http://192.168.1.173],3=http://192.168.1.173]
    at com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:344)
    at com.ibm.mq.jmqi.system.internal.CCDT.<init>(CCDT.java:210)
    at com.ibm.mq.jmqi.remote.impl.RemoteCCDT.<init>(RemoteCCDT.java:75)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.getCcdt(RemoteFAP.java:512)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1623)
    at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1287)
    at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:376)
    at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560)
    at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:344)
    ... 13 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.1.173
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1839)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
    at java.net.URL.openStream(URL.java:1038)
    at com.ibm.mq.jmqi.system.internal.CCDT$2.run(CCDT.java:313)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:305)
    ... 21 more
com.ibm.msg.client.jms.DetailedJMSExException:JMSWMQ2020:无法使用连接模式“client”和提供的CCDT URL连接到队列管理器“”http://192.168.1.173,有关详细信息,请参见链接异常。
检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有侦听器正在运行。有关详细信息,请参阅链接的异常。
位于com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:578)
位于com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:214)
位于com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.java:408)
位于com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6398)
位于com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:5740)
位于com.ibm.msg.client.jms.admin.jmsconnectionfactorympl.\u createConnection(jmsconnectionfactorympl.java:293)
位于com.ibm.msg.client.jms.admin.jmsconnectionfactorympl.createConnection(jmsconnectionfactorympl.java:234)
位于com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6016)
位于com.ibm.mq.jms.MQConnectionFactory.createConnection(MQConnectionFactory.java:6065)
在IBMMessageSender上。(IBMMessageSender.java:32)
位于IBMMessageSender.main(IBMMessageSender.java:21)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
原因:com.ibm.mq.MQException:JMSCMQ0001:WebSphere mq调用失败,代码为“2”(“MQCC_失败”)原因为“2278”(“MQRC_客户端连接错误”)。
位于com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:202)
... 14多
原因:com.ibm.mq.jmqi.jmqi异常:CC=2;RC=2278;AMQ9516:发生文件错误。[1=java.io.IOException[服务器为URL返回了HTTP响应代码:403:http://192.168.1.173],3=http://192.168.1.173]
位于com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:344)
位于com.ibm.mq.jmqi.system.internal.CCDT.(CCDT.java:210)
位于com.ibm.mq.jmqi.remote.impl.RemoteCCDT.(RemoteCCDT.java:75)
位于com.ibm.mq.jmqi.remote.api.RemoteFAP.getCcdt(RemoteFAP.java:512)
位于com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1623)
位于com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1287)
在com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:376)
位于com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560)
位于com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.java:344)
... 还有13个
原因:java.io.IOException:服务器返回了URL的HTTP响应代码:403:http://192.168.1.173
位于sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1839)
位于sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
在java.net.URL.openStream(URL.java:1038)
位于com.ibm.mq.jmqi.system.internal.CCDT$2.run(CCDT.java:313)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:305)
... 还有21个
CCDT(客户端通道定义表)是一个定义MQ客户端连接属性的文件。所以这个CCDT URL应该引用这个文件

查看您的代码,您似乎想要使用JMS,因此您正在JMS连接工厂上定义连接属性,在这种情况下,您不需要设置CCDT URL


但您的JMS属性似乎也不正确。您可以在MQ安装下找到示例代码,例如C:\Program Files(x86)\IBM\WebSphere MQ\tools\jms\samples\JMSProducer.java

查看异常的整个堆栈跟踪。com.ibm.mq.MQException中的原因码是什么?我已经更新了stacktracce…,我想要的是将消息发送到本地主机中的队列,您能给我该任务的确切步骤吗,我非常感激我已经运行了该源代码,并且当它在本地计算机上运行时工作正常,但当我尝试向不同服务器机器中的队列配置发送消息时,它告诉我为连接模式为“客户端”且主机名为“192.168.1.173(1414)”的QueueManager“IBM_MQ_TEST”提供的安全身份验证无效。请检查所连接的QueueManager上提供的用户名和密码是否正确。内部异常:消息。。无论如何,非常感谢你的回复。