MQJMS2013无效的安全认证

我正在尝试从IBM Websphere Application Server连接到IBM Websphere MQ Server。

我收到以下错误:

MQJMS2013: invalid security authentication supplied for MQQueueManager 

我的理解是,这是因为连接到MQ Manager时WAS的安全凭证无效。

我尝试过提供MQ管理密码的不同组合,例如

  1. 为MQ连接工厂提供J2C身份validation。
  2. 为队列提供MQ管理员用户名和密码。
  3. 提供空白用户名。
  4. 以上三者的组合。

另外,正如一些post中所提到的,我已经尝试将传输类型作为“绑定”以及QueueConnectionFactory的 “客户端”

请建议。

一个问题是MQJMS2013可能与QMgr无关。 它可能是配置文件权限问题,执行JNDI查找的LDAP凭据,密钥库的问题等。

确定这是否真的是WMQ授权例外的一种方法是在QMgr上启用授权事件并重新创建错误。 如果是WMQ身份validation问题,则事件消息将落在SYSTEM.ADMIN.QMGR.EVENT队列中。 它将包含用户的ID,调用失败的对象,失败的API调用以及调用中使用的所有选项。 如果您使用SupportPac MO71 ,它将为您格式化事件消息。 如果使用WMQ Explorer,则可以安装SupportPac MS0P以格式化事件消息。

如果您没有收到事件消息,则连接未到达WMQ! 在这种情况下,您对帐户,组,setmqaut和其他WMQ特定配置所做的任何操作都没有帮助,我建议启用跟踪 。

在绑定模式下,显示的ID 必须与JVM运行的ID匹配。 在客户端模式下,另一种诊断方法是将通道的MCAUSER设置为已知的良好值。 频道的MCAUSER会覆盖应用服务器传入的任何ID,并且应始终设置为低权限帐户。 对于诊断,将TEMPORARILY设置为’mqm’,如果连接有效,则将问题隔离为WMQ auth问题。

在应用组合2天后,最终使其工作。

为了帮助其他人(也可能是我将来),以下是问题:

我们使用IBM Websphere MQ服务器配置IBM Websphere Application Server。 我们创建了队列连接工厂,队列和侦听器端口。 我们反复提出exception问题。

它是如何工作的:当您启动应用程序服务器时,启动服务器的用户应该具有MQ访问权限。 即用户应该是MQM组的一部分。 只需添加,在将组添加到用户后,请记住重新启动MQ服务器,因为MQ服务器仅在重新启动后刷新权限。

希望这可以帮助。