amqsbcgc没有从MQ客户端获取消息

时间:2017-09-11 01:52:25

标签: ibm-mq

我设法从MQ客户端向MQ服务器发送消息。在MQ Client I amqsputc [queue_local] [name_qmgr]中,输入消息后返回" Sample AMQSPUT0 end"这意味着它被正确发送。但是当我尝试使用amqsbcg [queue_local] [name_qmgr]在MQ服务器中查看消息时,它会抛出一条错误消息:

"示例AMQSGET0启动 MQCONNX以原因代码2058"结束,当队列管理器不存在或名称拼写错误时出现此错误,但情况并非如此。

当我验证本地队列时,它显示CURDEPTH(1),这意味着队列中有一条消息(它已被传递)。但我不知道为什么它不允许我得到消息。在队列管理器错误文件中,它只显示如下内容:"通道AMQ ....连接已结束"。我检查了为此测试配置的通道:

AMQ8414: Display Channel details.
CHANNEL(A03ZCIWAS)                      CHLTYPE(SVRCONN)
ALTDATE(2017-09-07)                     ALTTIME(00.35.17)
CERTLABL( )                             COMPHDR(NONE)
COMPMSG(NONE)                        
DESCR(Server-connection to ...)
DISCINT(0)                              HBINT(300)
KAINT(AUTO)                             MAXINST(100)
MAXINSTC(90)                            MAXMSGL(4194304)
MCAUSER(nobody)                         MONCHL(QMGR)
RCVDATA( )                              RCVEXIT( )
SCYDATA( )                              SCYEXIT( )
SENDDATA( )                             SENDEXIT( )
SHARECNV(10)                            SSLCAUTH(REQUIRED)
SSLCIPH( )                              SSLPEER( )
TRPTYPE(TCP)                         
AMQ8414: Display Channel details.
CHANNEL(A03ZCIWAS)                      CHLTYPE(CLNTCONN)
AFFINITY(PREFERRED)                     ALTDATE(2017-09-07)
ALTTIME(02.40.42)                       CERTLABL( )
CLNTWGHT(0)                             COMPHDR(NONE)
COMPMSG(NONE)                           CONNAME(XX.XX.XX.XX)
DEFRECON(NO)                         
DESCR(Client connection to ....)
HBINT(300)                              KAINT(AUTO)
LOCLADDR( )                             MAXMSGL(4194304)
MODENAME( )                             PASSWORD( )
QMNAME(AEDMQ03A)                        RCVDATA( )
RCVEXIT( )                              SCYDATA( )
SCYEXIT( )                              SENDDATA( )
SENDEXIT( )                             SHARECNV(10)
SSLCIPH( )                              SSLPEER( )
TPNAME( )                               TRPTYPE(TCP)
USERID( )                            

conname(xx.xx.xx.xx)是MQServer的正确IP地址,变量MQSERVER设置为MQSERVER = [channel_svrconn] / tcp /' ip_adress_MQServer(1414)',港口也很好,所以我不知道我错过了什么

1 个答案:

答案 0 :(得分:1)

您提供的输出表明您正在执行amqsget而不是amqsbcgc

我注意到您的问题提及amqsbcg而非amqsbcgc。示例名称末尾的c表示它是程序的客户端版本。

amqsbcg = Server Binding version
amqsbcgc = Client version

如果执行amqsgetamqsbcg并指定同一服务器上不是本地的队列管理器,您将收到2058

解决方案是使用amqsgetcamqsbcgc代替amqsgetamqsbcg