我试图用Hermes JMS连接到Websphere MQ 7.1,但我无法连接。我已经按照他们的惯例,加载所有罐子没有问题,设置插件,设置所有变量(主机名,端口,transportType,queuemanager),检查底部表示用户并输入用户名和密码的框,并在确认I试图发现但是我收到以下消息:Hermes JMS无法连接到Websphere MQ 7.1(2035错误)
com.ibm.mq.MQException:MQJE001:完成代码'2',原因'2035'。 在 com.ibm.mq.MQManagedConnectionJ11。(MQManagedConnectionJ11.java:233) 处 com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:553)(MQClientManagedConnectionFactoryJ11的.java:593) 在 com.ibm.mq.StoredManagedConnection(StoredManagedConnection.java:95) 在 com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:198) 在 com.ibm.mq。 .QQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:882) at co m.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:770) 在 com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:719) 在 com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory。的java:175) 在com.ibm.mq.MQQueueManager(MQQueueManager.java:647)在 hermes.ext.mq.MQSeriesAdmin.getQueueManager(MQSeriesAdmin.java:107) 在 hermes.ext.mq.MQSeriesAdmin。 discoverDestinationConfigs(MQSeriesAdmin.java:280) 在 hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:82) 在 hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(Defau ltHermesImpl.java:1126) 在 hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:77) 在hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)在 hermes.browser.tasks .ThreadPool.run(ThreadPool.java:170)在 java.lang.Thread.run(Thread.java:662)
摸索与研究网的几个小时之后,似乎问题是它由于授权不良而无法连接,但是我可以使用Java代码进行连接(使用相同的lib MQQueueConnectionFactory),并且我也能够使用QueueZee与完全相同的库进行连接,获取所有队列的列表并浏览它们所以我知道用户授权问题sh不应该是问题。
我正在运行Hermes JMS 1.14,我尝试使用Java 1.6.0_33和1.7.0_5。 Websphere MQ在版本7.1.0.0上运行,并且这些库是从远程服务器上的此安装获取的。
我试图设置通道变量为SYSTEM.DEF.SVRCONN,这是我在QueueZee中使用它得到它的工作,但仍然是同一个问题。
以前有没有人看过这个问题,希望能对这种情况有所了解?
谢谢你的回答。当我使用QueueZee时,我将它用于完全相同的频道和用户(以及相同的队列管理器和服务器),而且我也如上所述禁用了CHLAUTH,但这并没有帮助,问题仍然存在。 我开始认为这是爱马仕JMS本身的问题。 – ByteFlinger
如果QueueZee可以使用该通道,那么它就是要传入的ID。您可以暂时将通道的MCAUSER设置为允许连接的值。但是,启用授权事件并使用[SupportPacs页面]中的[MS0P](http://ibm.co/SupptPacMS0P)或[MH05](http://ibm.co/SupptPacMH05)或其他事件显示工具之一, (http://ibm.co/SupptPacs)将使安全问题实际上诊断自己。长期回答结束于启用CHLAUTH并从QMgr设置MCAUSER,而不是从客户端设置。 –
再次感谢,但我宁愿知道这个问题是在第一个地方。我会试着去看看MQExplorer是否能告诉我为什么会发生这种情况。 – ByteFlinger