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

时间:2017-09-06 19:52:24

标签: ibm-mq

我有两台Linux服务器,一台安装了MQ Server 8.0.0.6,另一台安装了MQ Client 8.0.0.4。部署在客户端(WebSphere Application)中的应用程序无法连接到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 Client主机的通道。我知道创建频道的命令是:

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

在这种特殊情况下,它会像DEFINE CHANNEL(AEDMQ03A.X) CHLTYPE(Y) TRPTYPE(TCP),但我不太确定要在X变量上键入什么,因为在MQ Client中没有创建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解决它,但它仍然给我同样的错误。

1 个答案:

答案 0 :(得分:0)

您需要创建一个类型为SVRCONN

的频道

runmqsc> DEFINE CHANNEL(AEDMQ03A.SVRCONN)CHLTYPE(SVRCONN)TRPTYPE(TCP)

为了测试目的[仅]尝试禁用安全性 - 如果您还没有为客户端用户完成“setmqaut”

runmqsc> SET CHLAUTH('AEDMQ03A.SVRCONN')TYPE(BLOCKUSER)USERLIST('nobody')

runmqsc> alter authinfo(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)AUTHTYPE(IDPWOS)CHCKCLNT(NONE)

runmqsc> 刷新安全(*)

runmqsc>的

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