WSO2 - IBM MQ - javax.naming.NamingException:查找对象时无法与队列管理器通信

时间:2016-01-14 19:34:32

标签: wso2 jms ibm-mq esb

尝试将WSO2 ESB代理服务连接到IBM MQ中配置的队列(新创建的)时遇到以下问题。

奇怪的是,能够成功连接到同一队列管理器中已存在的队列。

TID: [0] [ESB] [2016-01-14 12:05:12,705]  INFO {org.apache.axis2.transport.jms.JMSListener} -  Connection attempt: 1 for JMS Provider for service: UOFSInterface was successful! {org.apache.axis2.transport.jms.JMSListener}
TID: [0] [ESB] [2016-01-14 12:05:12,712]  INFO {org.apache.axis2.transport.jms.ServiceTaskManager} -  Task manager for service : UOFSPickedInterface [re-]initialized {org.apache.axis2.transport.jms.ServiceTaskManager}
TID: [0] [ESB] [2016-01-14 12:05:12,829]  WARN {org.apache.axis2.transport.jms.JMSUtils} -  Cannot locate destination : UOFS.ESB.IN {org.apache.axis2.transport.jms.JMSUtils}
javax.naming.NamingException: Unable to communicate with the queue manager while looking up object UOFS.ESB.IN
        at com.ibm.mq.jms.context.MQContext.lookup(MQContext.java:947)
        at javax.naming.InitialContext.lookup(InitialContext.java:411)
        at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:583)
        at org.apache.axis2.transport.jms.JMSUtils.lookupDestination(JMSUtils.java:789)
        at org.apache.axis2.transport.jms.ServiceTaskManager.getDestination(ServiceTaskManager.java:950)
        at org.apache.axis2.transport.jms.ServiceTaskManager.access$2700(ServiceTaskManager.java:50)
        at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConsumer(ServiceTaskManager.java:905)
        at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getMessageConsumer(ServiceTaskManager.java:766)
        at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:516)
        at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:428)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
TID: [0] [ESB] [2016-01-14 12:05:12,833] ERROR {org.apache.axis2.transport.jms.ServiceTaskManager} -  Error creating JMS consumer for service : UOFSInterface. JMSWMQ2008: Failed to open MQ queue 'UOFS.ESB.IN'. {org.apache.axis2.transport.jms.ServiceTaskManager}

1 个答案:

答案 0 :(得分:-1)

客户端系统(WSO2)使用的MQ客户端用户配置文件没有像PUT,SET等那样的适当“权限”来将消息丢弃到队列中。

一旦个人资料获得PUT,SET&浏览MQ队列对象。