从安装了MQ客户端的Linux服务器,我们正在尝试建立到安全通道的连接。我是ETL人员,我们的MQ管理员正在苦苦挣扎。无论如何,我会解释我尝试了什么(显然还没有成功),任何人都请告诉我还需要做什么来设置连接。。谢谢:)
tmp/mqmutility/keyrepmodmq> ls
AMQCLCHL.TAB key.kdb key.rdb key.sth MODE_MODELTAP_DEV_keyStLst.txt
export MQSSLKEYR=/tmp/mqmutility/keyrepmodmq/key
export MQCHLLIB=/tmp/mqmutility/keyrepmodmq
export MQCHLTAB=AMQCLCHL.TAB
/opt/mqm/samp/bin> amqsputc <queue_name> <queue_manager_name>
Sample AMQSPUT0 start
MQCONN ended with reason code 2058
注意:我可以连接到非SSL通道的同一队列管理器。任何帮助都会很好,您从客户端机器进行SSL通道连接所遵循的其他方法也会很有帮助。
使用客户端通道定义表(CCDT)文件(AMQCLCHL.TAB文件)时,返回代码2058通常意味着在CCDT文件的任何通道条目中都找不到应用程序尝试使用的队列管理器名称"queue_manager_name"。
如果您正在使用。MQ V8您可以使用以下命令非常容易地显示CCDT文件中的条目以及为其配置的队列管理器名称:
runmqsc -n
DISPLAY CHANNEL(*) QMNAME
如果文件中没有一个通道具有运行amqsputc
示例时使用的队列管理器名称,则这就是2058原因代码的原因。
希望当您看到文件中列出的条目时,您应该使用哪个队列管理器名称会很清楚,但如果没有,请用更多详细信息(如所述文件的内容和队列管理器的详细信息)更新您的问题,我们可以提供进一步的帮助。
您必须确保定义了CLNTCONN通道,该通道具有要在QMNAME字段中使用的队列管理器名称,并且在队列管理器上定义了匹配的命名SVRCONN通道。由于您使用SSL,因此还必须确保这两个通道使用相同的SSLCIPH。
请阅读在服务器及其子主题上创建服务器连接和客户端连接定义。