【发布时间】:2021-07-13 03:13:37
【问题描述】:
我正在使用那个非常有用的项目作为参考:
Github,感谢 micheleissa。
考虑到我的旧 IBMMQ 版本 (7.5) 的情况,它也不使用密码,只允许使用只有用户名的内部连接,是否可以将该项目与来自 Nuget 的 IBMMQDotnetClient 9.2.2 一起使用。
我尝试添加此行,但没有成功
_connectionOptions = new Hashtable()
{
{ MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED },
{ MQC.APPNAME_PROPERTY, _queueOptions.AppName },
{ MQC.CHANNEL_PROPERTY, _queueOptions.Channel },
{ MQC.CONNECT_OPTIONS_PROPERTY, MQC.MQCNO_RECONNECT_Q_MGR },
{ MQC.CONNECTION_NAME_PROPERTY, string.Join(",", _queueOptions.MqHostOptionsList.Select(opt => $"{opt.HostName}({opt.Port})"))},
{ MQC.USER_ID_PROPERTY, $"{_queueOptions.Username}"},
{ MQC.USE_MQCSP_AUTHENTICATION_PROPERTY, false}
//{ MQC.PASSWORD_PROPERTY, $"{_queueOptions.Password}" }
};
但我只有这些参数:
- queueManager:测试管理员
- 频道:测试通道
- connName:test.info.net
- 端口:1416
- 名称:TEST.INFO
- 用户:svc_test
老实说,我认为用户甚至没有必要。 我使用 docker IBMMQ 9.2 尝试了这段代码,使用了所有参数,它正在工作。
MQRC_NOT_AUTHORIZED : 2035
【问题讨论】:
-
请添加来自您的队列管理器 AMKERR01.LOG 的错误消息以显示安全故障的原因。
-
显示您的代码。如果您没有指定用户名和密码,它只会在您运行的用户中发送。
-
@MoragHughson 我会在到达基础设施团队时尝试获取它。
-
@JoshMc 我做了一些更改,如果有帮助,请再次检查。
-
IBM MQ 7.5 qmgrs 将忽略用户标识。您的 9.2.2 应用程序以什么用户身份运行?尝试以您尝试设置的用户身份运行它。