我正在以下命令下运行(仅命令行命令而不是Web客户端)Webspere MQ客户端v 8.0.0.9,但我无法连接MQ服务器
/opt/mqm/samp/bin/amqsgetc Q-name Q-manager
我正在导出
export MQCHLTAB=xxx.TAB ---------xxx.TAB under /var/mqm
export MQCHLLIB=/var/mqm
export MQSSLKEYR=/var/mqm/ssl/cms/cert -------- cert.kdb under cms dir using
export MQSERVER=channel-name/TCP/'xx.xx.xx.xx(xxx)'
我遇到的错误是
07/04/2018 09:22:20 AM - Process(6024.1) User(username) Program(amqsgetc)
Host(hostname) Installation(Installation1)
VRMF(8.0.0.9) QMgr(.)
AMQ9641: Remote CipherSpec error for channel 'ch-name' to host
'MQ-server-ip(port)'.
EXPLANATION:
The remote end of channel 'ch-name' on host 'MQ-server-ip(port)' has had
a CipherSpec error. The channel did not start.
ACTION:
Review the error logs on the remote system to discover the problem with the
CipherSpec.
----- cmqxrfpt.c : 573 --------------------------------------------------------
答案 0 :(得分:2)
简短的答案是删除MQSERVER
环境变量。有关更多详细信息和参考,请阅读下文。
如果指定MQSERVER
环境变量,MQ将仅使用此信息,而忽略CCDT环境变量(MQCHLLIB
和MQCHLTAB
)。
在IBM MQ知识中心页面Configuring > Configuring connections between the server and clients > Using IBM MQ environment variables > MQSERVER > Using MQSERVER中对此进行了引用。
如果使用MQSERVER环境变量来定义通道 在您的IBM®MQ MQI客户端计算机和服务器计算机之间,这是 唯一可用于您的应用程序的渠道,没有参考 制作到客户渠道定义表(CCDT)。
IBM MQ知识中心页面Developing applications > Developing MQI applications with IBM MQ > Writing client procedural applications > Running applications in the IBM MQ MQI client environment > Connecting IBM MQ MQI client applications to queue managers中引用了有关MQ应用程序如何确定连接详细信息的更多信息
当在IBM MQ客户端环境中运行的应用程序发出 MQCONN或MQCONNX调用,客户端确定如何进行 连接。当IBM上的应用程序发出MQCONNX调用时 MQ客户端,MQI客户端库搜索客户端通道 信息按以下顺序:
- 使用MQCNO结构(如果提供)的ClientConnOffset或ClientConnPtr字段的内容。这些字段标识 通道定义结构(MQCD)用作 客户端连接通道。可以通过以下方式覆盖连接详细信息 使用预连接出口。有关更多信息,请参见引用 使用存储库中的预连接出口进行连接定义。
- 如果设置了MQSERVER环境变量,则使用它定义的通道。
- 如果定义了mqclient.ini文件并包含ServerConnectionParms,则使用该文件定义的通道。欲了解更多 信息,请参阅使用配置文件配置客户端和 客户端配置文件的CHANNELS节。
- 如果设置了MQCHLLIB和MQCHLTAB环境变量,则使用它们指向的客户端通道定义表。
- 如果定义了mqclient.ini文件并包含ChannelDefinitionDirectory和ChannelDefinitionFile属性,则这些 属性用于定位客户端通道定义表。对于 详细信息,请参阅使用配置文件配置客户端 客户端配置文件的“ CHANNELS”节。
最后,如果未设置环境变量,则客户端将搜索具有路径和名称的客户端通道定义表 从mqs.ini文件中的DefaultPrefix建立的文件。如果 搜索客户端定义表失败,客户端使用 以下路径:
- UNIX和Linux系统:/var/mqm/AMQCLCHL.TAB
- Windows:C:\ Program Files \ IBM \ WebSphere MQ \ amqclchl.tab
- IBM i:/ QIBM / UserData / mqm / @ ipcc
- IBM MQ设备:_AMQCLCHL.TAB。它们出现在mqbackup:// URI下。
您不能使用MQSERVER
环境变量来指定Cipherspec。在IBM MQ知识中心页面Configuring > Configuring connections between the server and clients > Using IBM MQ environment variables > MQSERVER
MQSERVER环境变量用于定义最小通道。 MQSERVER指定IBM®MQ服务器的位置以及 通讯方式。
您不能使用MQSERVER定义SSL通道或具有以下内容的通道 通道出口。有关如何定义SSL通道的详细信息,请参见 使用SSL保护频道。