【问题标题】:JMSWMQ2013 : Weblogic is not sending userid and password specified in Foreign Connection Factory to IBM MQJMSWMQ2013:Weblogic 未将外部连接工厂中指定的用户 ID 和密码发送到 IBM MQ
【发布时间】:2016-10-06 02:17:16
【问题描述】:

MQ 管理员为我提供了 USER_ID 和 PASSWORD,以便我从托管在 Webloigc 12c (12.1.3) 上的 JMS 应用程序连接到 IBM MQ。

以下是我在Weblogic中所做的配置:- 1.创建一个国外服务器。将 JNDI 初始上下文工厂指定为“com.sun.jndi.fscontext.RefFSContextFactory”,将 JNDI 连接 URL 指定为 .bindings 文件的路径。

  1. 在外部服务器中创建目的地。

  2. 在外部服务器中创建连接工厂。指定 MQ 管理员提供的用户名和密码。

  3. 重新启动服务器。

重启后,服务器日志显示错误“JMSWMQ2013”​​,MQ管理员报告如下错误

----- cmqxrsrv.c : 2321 -------------------------------------------------------
09/30/2016 11:09:46 AM - Process(10686.64) User(mqm) Program(amqzlaa0)
                    Host(vlq9dmqsdv01.fulcrumlimited.ca) Installation(Installation1)
                    VRMF(8.0.0.4) QMgr(FCSWIFTD)

AMQ5540: Application 'weblogic.Server' did not supply a user ID and password

MQ 管理员还报告说,他收到的用户 ID 是创建 EJB 的操作系统用户,而不是外部服务器中指定的用户 ID。

我需要做什么配置,以便 weblogic 向 IBM MQ 发送正确的用户名和密码。

【问题讨论】:

    标签: authentication weblogic ibm-mq


    【解决方案1】:

    您可以通过 JMS API 调用传递用户标识符和密码:

      javax.jms.ConnectionFactory.createConnection(String, String)
    

    或者,如果使用简化的 JMS 2.0 API:

      javax.jms.ConnectionFactory.createContext(String, String)
    

    其中第一个 String 参数是建立连接时传递给 MQ 的用户标识符,第二个参数是密码。

    如果您不通过上述 API 调用提供用户凭据,则 JMS 的 MQ 类将默认将启动 JVM 的用户标识符发送到连接时的 MQ 队列管理器,并且不发送密码。

    供参考: https://docs.oracle.com/javaee/7/api/javax/jms/ConnectionFactory.html

    【讨论】:

      猜你喜欢
      • 2019-03-23
      • 2013-09-28
      • 1970-01-01
      • 2013-03-03
      • 2015-04-08
      • 1970-01-01
      • 2019-06-16
      • 2022-11-08
      • 1970-01-01
      相关资源
      最近更新 更多