如何从运行在 WebSphere 应用程序服务器 v7 上的 Web 应用程序通过 JMS 连接到 Web 方法?

Posted

技术标签:

【中文标题】如何从运行在 WebSphere 应用程序服务器 v7 上的 Web 应用程序通过 JMS 连接到 Web 方法?【英文标题】:how to connect to webmethods over JMS from a web application running on WebSphere application server v7? 【发布时间】:2013-10-01 22:30:07 【问题描述】:

如何从运行在 64 位 WebSphere 应用程序服务器 v7.0.0.23 上的 Web 应用程序通过 JMS 连接到 Web 方法?

我有一个标准的基于 Spring 的 Web 应用程序,它部署在 websphere 7 应用程序服务器上。我需要从此应用程序连接到 SoftwareAG WebMethods JMS Provider。

    我尝试使用spring jndi查找在webmethods的远程JNDI服务器中配置的connectionFactory。

    使用 NPE 初始化 initialContext 失败。

    我尝试在 websphere 管理控制台中的资源下创建自定义 JMS 提供程序,该资源将 Webmethods 的外部 JNDI 资源映射到本地可用的 JNDI 资源。然后我使用spring jndi从websphere的本地JNDI中查找connectionFactory。

    NoClassDefFoundError 失败:javax.jms.ConnectionFactory

之前有没有人成功集成过 websphere 和 webmethods ?请分享经验以及如何开始?

【问题讨论】:

你好。你找到解决方案了吗?如果是,请与我分享。 【参考方案1】:

您好,我已经通过在 WebSphere 中设置队列并以这种方式在 Java 中外部连接到它:

   `Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
    env.put(Context.PROVIDER_URL, "iiop://localhost:2809");
    Context jndiContext = null;
    try 
        jndiContext = new InitialContext(env);
     catch (NamingException e) ....`

WebMethods 已使用我在 env HashTable 中指定的相同属性连接到相同的队列

【讨论】:

【参考方案2】:

另一种解决方案是在 webMethods 中公开一个 Web 服务,并让您的 Spring 应用程序调用该 Web 服务。

然后,您可以将 webMethods Web 服务处理程序发布到 webMethods 代理,以便触发您需要的任何内容。

【讨论】:

以上是关于如何从运行在 WebSphere 应用程序服务器 v7 上的 Web 应用程序通过 JMS 连接到 Web 方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 WebSphere Liberty Maven 插件部署到 WebSphere Liberty 应用程序目录?

如何计划从 WebSphere 迁移到更便宜的应用程序服务器,如 JBoss、Tomcat 或 Payara

在 Websphere 应用服务器中集成 HornetQ

当配置文件本身不在 WebSphere 文件夹中时,如何从 eclipse 引用 WebSphere 服务器?

从 WebSphere 8 运行 Java 8 MQ 应用程序时出错

如何从 Websphere 服务器连接到 Weblogic JMS?