首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用pymqi连接到IBM MQ

无法使用pymqi连接到IBM MQ
EN

Stack Overflow用户
提问于 2019-02-27 15:32:23
回答 1查看 1.3K关注 0票数 1

在使用库pymqi连接到IBM MQ时,我得到了以下错误。

它是一个集群的MQ通道

代码语言:javascript
复制
pymqi.MQMIError: MQI Error. Comp: 2, Reason 2539: FAILED: MQRC_CHANNEL_CONFIG_ERROR

请看我下面的代码。

代码语言:javascript
复制
queue_manager = "QMNAME"
channel = bytes(str("CHANNEL_NAME"))
host = "xx.xx.xx.xx"
port = "1800"
queue_name = "QN"
conn_info1 = bytes("%s(%s)" % (host, port))
message = b'{"alert":[{"timestamp":"Wed Jun 27 11:07:37 CDT 2018","shortDescription":"Last 24 hrs Sev 4 Volume Deviation is 84% lower than baseline","alertColor":"red","title":"Sev 4 Volume Deviation"}]}'

# Message Descriptor
put_mqmd = pymqi.MD()
qmgr = pymqi.connect(queue_manager, channel, conn_info1)
queue = pymqi.Queue(qmgr, queue_name)

在下面的行处获取错误

代码语言:javascript
复制
qmgr = pymqi.connect(queue_manager, channel, conn_info1)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-27 16:37:01

原因:

2539 (MQRC_CHANNEL_CONFIG_ERROR)错误是由于您试图连接到队列管理器上不属于SVRCONN类型的通道而导致的。MQ客户端必须连接到SVRCONN通道。

其他信息:

如果查看队列管理器错误日志,您将看到相应的AMQ9502错误,例如:

代码语言:javascript
复制
AMQ9502: Type of channel not suitable for action requested.

EXPLANATION:
The operation requested cannot be performed on channel 'CHANNEL_NAME'. Some
operations are only valid for certain channel types. This channel is a
'CLUSRCVR' channel type. For example, you can only ping or trigger a channel
from the initiating end.
ACTION:
Check whether the channel name is specified correctly.  If it is check that the
channel has been defined correctly.

解决方案:

确保在您希望连接到的队列管理器上定义了SVRCONN通道。

故障排除:

MQ客户端附带了一个示例程序amqscnxc,您可以使用它来测试您在示例中指定的参数。例如,在Linux/Unix上(在Windows上,对conname的引用可能会有所不同),执行以下操作:

代码语言:javascript
复制
amqscnxc -x 'xx.xx.xx.xx(1800)' -c CHANNEL_NAME QMNAME

结果将是相同的2539错误,但这确实表明这不是pymqi特定的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54900223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档