【问题标题】:how to connect to webmethods over JMS from a web application running on WebSphere application server v7?如何从运行在 WebSphere 应用程序服务器 v7 上的 Web 应用程序通过 JMS 连接到 Web 方法?
【发布时间】: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 ?请分享经验以及如何开始?
【问题讨论】:
标签:
jms
websphere
jndi
spring-jms
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 代理,以便触发您需要的任何内容。