【问题标题】:JNDI not passing credentials with lookupJNDI 未通过查找传递凭据
【发布时间】:2020-05-01 10:19:03
【问题描述】:

我正在使用 Weblogic 10.3.3 定义与外部 Tibco JMS 队列的连接。

我已经设置好了:

  • JMS 模块
    • 添加了外部服务器详细信息,包括
      • tibco 初始上下文工厂
      • jndi 连接地址
      • jndi 属性凭证
      • 设置 java.naming.security.principal
    • 添加了 2 个国外目的地
    • 设置外部连接工厂详细信息,包括用户名和密码。

在我的代码中,我正在从 JNDI 进行简单的查找。

QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) _context.lookup(JNDI_JMS_FACTORY_NAME);

由于我在 weblogic 上的配置中有凭据,我希望以下应该可以工作。

QueueConnection connection = queueConnectionFactory.createQueueConnection();

但是,我得到:
javax.jms.JMSSecurityException:无法连接到任何服务器:server [错误:身份验证失败:返回此异常的 url = server]

如果我通过了凭据,那么它可以正常工作。

    QueueConnection connection = queueConnectionFactory.createQueueConnection(user, password);

但是,使用这种方法,我必须在我的代码中保护我的凭据。关于为什么无参数 createQueueConnection 无法工作的任何想法?

提前致谢。

【问题讨论】:

    标签: jms jndi weblogic-10.x tibco-ems


    【解决方案1】:

    本文档提供了答案。确保你使用容器

    http://docs.oracle.com/cd/E14571_01/web.1111/e13727/j2ee.htm#JMSPG367

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2023-03-24
      • 1970-01-01
      • 2012-01-20
      相关资源
      最近更新 更多