权限问题,确定能ping到远程队列管理器所在机器时,对远程的队列管理器所在机器打开cmd,运行runmqsc,然后做以下设置
##关闭通道的权限认证
ALTER QMGR CHLAUTH(DISABLED)
##刷新权限
REFRESH SECURITY TYPE(CONNAUTH)
##在我用的是8.0.0.4,与服务器的连接默认需要密码去认证,可以通过将连接认证选项中SYSTEM.DEFAULT.AUTHINFO.IDPWOS的相关属性配置为OPTIONAL,具体命令如下:
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
##刷新权限
REFRESH SECURITY TYPE(CONNAUTH)
##修改SSLCAUTH为OPTIONAL
ALTER CHL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) SSLCAUTH(OPTIONAL)
##将mca标识修改为空,如果是新建的队列管理器服务器连接通道默认没有该标志,这步可以省略
##其他好多帖子说是这里的问题,改了其实没用,折磨我两天,如果设置了该项会报4059,原因尚不清楚
ALTER CHL (SYSTEM.ADMIN.SVRCONN) CHLTYPE (SVRCONN) MCAUSER ('')
##查看修改的结果,
DISPLAY CHANNEL (SYSTEM.DEF.SVRCONN) ALL
修改后的通道如下
然后就可以开心的做连接了。填写队列管理器名称,选择直接连接,点击下一步,填入远程队列管理器所在IP,远程队列管理器侦听器侦听端口,服务器连接通道默认SYSTEM.ADMIN.SVRCONN,直接点击完成。