我正在尝试连接远程MQ队列/意向,但是我只有一个.bindings文件来执行此操作。我正在尝试使用python库“ pymqi”,但无法使用绑定模式进行连接。有人知道我应该怎么做,或者应该在哪里放置该文件以便与库一起使用吗?还有其他Python解决方案可连接到MQ队列吗?
这是我的.bindings文件的一瞥:
JMSC/ClassName=com.ibm.mq.jms.MQQueueConnectionFactory
JMSC/FactoryName=com.ibm.mq.jms.MQQueueConnectionFactoryFactory
JMSC/RefAddr/0/Type=VER
JMSC/RefAddr/0/Encoding=String
JMSC/RefAddr/0/Content=7
JMSC/RefAddr/1/Type=TRAN
JMSC/RefAddr/1/Encoding=String
JMSC/RefAddr/1/Content=1
JMSC/RefAddr/2/Type=QMGR
JMSC/RefAddr/2/Encoding=String
JMSC/RefAddr/2/Content=MQFEND00
JMSC/RefAddr/3/Type=HOST
JMSC/RefAddr/3/Encoding=String
JMSC/RefAddr/3/Content=somehost
JMSC/RefAddr/4/Type=PORT
JMSC/RefAddr/4/Encoding=String
JMSC/RefAddr/4/Content=1414
JMSC/RefAddr/5/Type=CHAN
JMSC/RefAddr/5/Encoding=String
JMSC/RefAddr/5/Content=PORTALS.MQFEND00
它有100个参数,即前6个,
谢谢
更新22/05/2019:
我将添加有关尝试内容的更多信息。 我尝试使用绑定模式进行连接,如在pymqi文档中所见:
qmgr = pymqi.connect('MQFEND00')
我收到此错误:
MQI Error. Comp: 2, Reason 2058: FAILED: MQRC_Q_MGR_NAME_ERROR
我不确定是否是queue_manager,有人知道如何从绑定文件中获取queue_manager吗?
我也尝试连接主机,频道和端口:
qmgr = pymqi.connect(queue_manager, channel, conn_info)
我得到一个未经授权的错误,我认为这是因为第二种方法是与客户端连接,我需要我没有的用户名和密码。
答案 0 :(得分:0)
如果要使用绑定模式,则应使用14
或server
参数设置pymqi。您不能同时使用binding
和binding
模式:
client
我不确定,您是否可以将.bindings文件与pymqi一起使用而无需亲自对其进行解析。
答案 1 :(得分:0)
我可能对这个讨论还很晚,但是:
import pymqi
queue_manager = 'MQFEND00'
channel = 'PORTALS.MQFEND00'
host = 'somehost'
port = '1414'
conn_info = '%s(%s)' % (host, port)
qmgr = pymqi.connect(queue_manager, channel, conn_info)
# other operations, see https://dsuch.github.io/pymqi/examples.html for more.
qmgr.disconnect()
您必须在运行pymqi的同一台计算机上安装MQ客户端; 您是否在使用snnpet这样的conn_info?