带有 WLS 10.3.1.0 外部服务器配置的 TIBCO EMS 6.0 不起作用
将消息从 SOAPUI 发送到 EMS(JNDI/队列)到 WLS(JNDI)
嗨,我按照步骤将 Tibco EMS 6.0 与 WLS 10.3.1.0 集成以设置外部服务器,我将消息发布到 EMS 队列中并且消息没有出现在 WLS JMS JNDI 中,
以下是使用 SOAP UI 发布消息的场景场景:我已经使用 Hermes JMS 配置了 SOAP UI,该 JMS 配置了 TIBCO EMS 和 WLS 服务器 (10.3.2.1) 我在 WLS 中添加了新的外部服务器,以下是到目前为止执行的步骤当我使用 SOAP UI 放置 SOAP 消息时,此消息不会出现在 WLS JNDI 中
SOAPUI 到 EMS(JNDI/队列)到 WLS(JNDI)
我仍然设法从 WLS 10.3.1.0 JMS 外部服务器配置说明中推断出以下步骤,以使它们与 TIBCO 一起使用,
在 Tibco ems 6.0 中创建了 1 个队列:Falcon.EMS.queue
创建了 1 个连接工厂:QueueConnectionFactory
创建了 1 个 JDNI:jndi.falcon.ems.queue
JNDI: jndi.falcon.ems.queue 映射到 Queue: Falcon.EMS.queue end In Tibco ems
在 WLS 10.3.2.1 服务器中 1.在 WLS lib 文件夹中添加所需的 ems jar 文件,并设置类路径 2.启动 WLS 10.3.2.1 服务器 3.打开 WLS 10.3.2.1 管理页面:http://localhost:7001/控制台 4. 选择 Services -> Messaging -> JMS Modules 5. 点击“oms-jms-module” 6. 创建资源“Foreign JMS server” 名称:ForeignServer-EMS JNDI 初始上下文工厂:com.tibco.tibjms.naming .TibjmsInitialContextFactory JNDI 连接 URL:tibjmsnaming://localhost:7222
在 ForeignServer-EMS 下 单击目的地 -> 新建 i。名称:ForeignDestination-JMS ii。本地 JNDI 名称:oracle/communications/ordermanagement/WebServiceQueue iii. 远程 JNDI 名称:jndi.falcon.ems.queue b. 点击保存
在 ForeignServer-EMS 下 单击连接工厂 -> 新建 i。名称:ForeignConnectionFactory-JMS ii。本地 JNDI 名称:queueconnectionfactory iii。远程 JNDI 名称:QueueConnectionFactory b. 点击保存
有时将队列 oms_ws_requests 的 JNDI 名称重命名为其他名称,因为它会与第 ii 点中提到的上述配置中使用的 JNDI 名称相冲突。本地 JNDI 名称:oracle/communications/ordermanagement/WebServiceQueue
但 WLS 管理服务器控制台失败,错误提示...
<+++ lookup(weblogic.jms, weblogic.jndi.internal.ServerNamingNode) succeeded>
<+++ lookup(weblogic.jms.XAConnectionFactory, weblogic.rmi.cluster.ClusterableRemoteObject) succeeded>
<+++ lookup(oracle, weblogic.jndi.internal.ServerNamingNode) succeeded>
<+++ lookup(oracle.communications, weblogic.jndi.internal.ServerNamingNode) succeeded>
<+++ lookup(oracle.communications.ordermanagement, weblogic.jndi.internal.ServerNamingNode) succeeded>
<+++ lookup(oracle.communications.ordermanagement.WebServiceQueue, weblogic.deployment.jms.ForeignOpaqueReference) succeeded>
<WSEE:107>javax.jms.JMSException: java.security.PrivilegedActionException: weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055142]Foreign destination, Queue[Falcon.EMS.queue]<JmsQueueListener.handleConnectionException:331>javax.jms.JMSException: java.security.PrivilegedActionException: weblogic.jms.common.InvalidDestinationException: [JMSClientExceptions:055142]Foreign destination, Queue[Falcon.EMS.queue]
at weblogic.wsee.server.jms.JmsQueueListener.connect(JmsQueueListener.java:258)
at weblogic.wsee.server.jms.JmsQueueListener.run(JmsQueueListener.java:357)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
WLS JMS 的工作是否有任何问题 - Tibco EMS 用于将 SOAP 消息发布到 OSM JNDI)
我在以下位置发现了一个类似的问题:Weblogic EJB connection to external Tibco EMS JMS Queue此链接提供的答案如下:终于实现了这一点 - 由于 Weblogic 10.3 中的错误,这并不像应有的那么简单。
- 创建具有所有正常详细信息的外部服务器(目标和连接工厂的本地/远程 JNDI 查找名称)。
- 创建与远程 EMS 用户同名的本地 WL 用户,包括密码。
- 创建 ejb 凭证映射(不是安全凭证映射)
- 通过单击相关部署执行此操作,单击列表中的相关 ejb 名称,然后单击安全选项卡,然后单击凭据映射选项卡。
- 为 WLS 和远程用户添加相同的名称(此处似乎不需要密码)。
此问题是否与Weblogic EJB 连接到外部 Tibco EMS JMS 队列有关
如果是,我无法在 WLS 中创建与第 2 点中提到的 tibco ems 中相同的用户名。当我根据上述第 3 点创建凭据映射时,WLS 的用户名不可编辑,它会创建自己的用户作为跨域。
第 3 点是否有任何需要遵循的步骤。