无法从MQ客户端连接到MQ QMGR(客户端模式)



我有两个Linux服务器,一个带有MQ Server版本8.0.0.6,另一个带有MQ Client 8.0.0.4安装。部署在客户端(WebSphere应用程序)中的应用程序无法连接到MQ服务器,它给了我一个错误,说:

JMSWMQ0018: Failed to connect to queue manager 'AEDMQ03A' with connection mode 'Client' and host name 'hostname(1414)'

我在MQ服务器中验证了队列管理器AEDMQ03A正在运行,AEDMQ03A侦听器正在端口1414上运行。我还可以使用Telnet MQHost 1414。

我用:

检查了QMGR AEDMQ03A(在MQServer中)的频道
DISPLAY CHANNEL(AEDMQ03A,*) ALL

,但我找不到来自AEDMQ03A到MQ客户端主机的任何频道。我知道创建频道的命令是:

DEFINE CHANNEL(JAVA.CHANNEL) CHLTYPE(SVRCONN) TRPTYPE(TCP)

在这种特殊情况下,它会像DEFINE CHANNEL(AEDMQ03A.X) CHLTYPE(Y) TRPTYPE(TCP)一样,但是我不确定在X变量上输入什么,因为在MQ客户端中没有创建QMGRS。如果我希望从MQ客户端到MQServer的连接,我不知道应该是什么频道类型。


我创建了一个本地队列(queue_test),以测试从MQ客户端到MQ服务器中Qmanager AEDMQ03A的连接。我做了以下操作:

1)启动AEDMQ03A队列管理器,也确保听众也开始

2)使用命令:

创建SVRCONN通道
DEFINE CHANNEL(A03ZCIWAS) CHLTYPE(SVRCONN) TRPTYPE(TCP)

客户端:

set the MQSERVER=A03ZCIWAS/TCP/'ip_adress_MQServer(1414)'

然后,当我尝试使用./amqsputc QUEUE_TEST AEDMQ03A时,它给了我错误:

MQCONNX ended with reason code 2035

我知道这个错误是一个权限问题,我试图用setmqaut -m AEDMQ03A -t qmgr -g mqm +alladm +set解决它,但是它仍然给我同样的错误。

您需要使用类型svrconn

创建一个频道

runmqsc> define Channel(AEDMQ03A.SVRCONN)chltype(svrconn)trptype(tcp)

并且用于测试目的[仅]尝试禁用安全性 - 如果您还没有为客户端用户

完成'setMqaut'

runmqsc> set chlauth('aedmq03a.svrconn')type(blockuser)用户列表('nose nose'')

runmqsc> alter authinfo(system.default.authinfo.idpwos)authtype(idpwos)chckclnt(none)

runmqsc> 刷新安全性(*)

runmqsc> end

尝试连接并共享详细信息。

最新更新