ibm-mq - AMQ9641:通道 IBM WebSphere MQ 客户端 8.0.0.9 的远程 CipherSpec 错误
问题描述
我正在从(仅命令行而不是 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 --------------------------------------------------------
解决方案
简短的回答是删除MQSERVER
环境变量。有关更多详细信息和参考,请阅读下文。
如果您指定MQSERVER
环境变量,MQ 将只使用此信息并忽略 CCDT 环境变量(MQCHLLIB
和MQCHLTAB
)。
这在 IBM MQ 知识中心页面配置 > 配置服务器和客户端之间的连接 > 使用 IBM MQ 环境变量 > MQSERVER > 使用 MQSERVER中引用。
如果您使用 MQSERVER 环境变量来定义 IBM® MQ MQI 客户端机器和服务器机器之间的通道,那么这是您的应用程序可用的唯一通道,并且不会引用客户端通道定义表 (CCDT)。
有关 MQ 应用程序如何确定连接详细信息的更多信息,请参阅 IBM MQ 知识中心页面开发应用程序 > 使用 IBM MQ 开发 MQI 应用程序 > 编写客户端过程应用程序 > 在 IBM MQ MQI 客户端环境中运行应用程序 > 连接 IBM MQ MQI 客户端应用程序到队列管理器
当在 IBM MQ 客户端环境中运行的应用程序发出 MQCONN 或 MQCONNX 调用时,客户端会确定如何建立连接。当 IBM MQ 客户端上的应用程序发出 MQCONNX 调用时,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 知识中心页面配置 > 配置服务器和客户端之间的连接 > 使用 IBM MQ 环境变量 > MQSERVER中引用
MQSERVER 环境变量用于定义最小通道。MQSERVER 指定 IBM® MQ 服务器的位置和要使用的通信方法。
您不能使用 MQSERVER 定义 SSL 通道或具有通道出口的通道。有关如何定义 SSL 通道的详细信息,请参阅使用 SSL 保护通道。
推荐阅读
- c# - 命令行 MonoGame 指南
- html - click="" 不适用于 tabindex='0'
- swift - 构建亚马逊附属链接 Swift
- javascript - 使用 jest 模拟模块库
- javascript - SafeAreaView 顶部未在 react-native 中显示背景颜色
- typescript - 我的自定义 VSCode extsion 可以正常调试,但安装时不能
- javascript - 运行 npm test 时如何允许“函数外返回”语法?
- azure - ID 更改后 Azure AD 和 SQL 登录/用户不起作用
- python-3.x - 嗅探 RTS 并用 Scapy 发送 CTS 作为回报
- python - 从字母中拆分数字