Hi,
I am trying to publish a web service via WebSphere MQ and I am
encountering some problems.
My steps so far included:
1. Created a WebService named "TestService".
2. Added in the axis2.xml the section:
<transportReceiver name="jms"
class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="default">
<parameter
name="java.naming.factory.initial">org.apache.naming.java.javaURLContext
Factory</parameter>
<parameter
name="transport.jms.ConnectionFactoryJNDIName">java:comp/env/jms/BrokerQ
ueueManagerWindows</parameter>
</parameter>
</transportReceiver>
3. Added to Tomcat a context.xml, containing:
<Resource name="jms/BrokerQueueManagerWindows"
auth="Container"
type="com.ibm.mq.jms.MQQueueConnectionFactory"
factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory"
description="JMS Queue Connection Factory for sending
messages"
HOST="XXX"
PORT="1111"
CHAN="XXX"
TRAN="1"
QMGR="XXX/>
<Resource
name="TestService"
auth="Container"
type="org.apache.activemq.command.ActiveMQQueue"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="XXX" />
Now I know that the second resource should not be of an ActiveMQ-Type..
but I don't know which type it should be for WebsphereMQ. Additionally I
get some errors when I start up the tomcat:
[WARN] Error looking up destination with JNDI name : TestService to map
its corresponding provider specific Destination name
[WARN] JMS Destination with JNDI name : TestService does not exist
[ERROR] StandardWrapper.Throwable
java.lang.NoSuchMethodError:
javax.jms.ConnectionFactory.createConnection()Ljavax/jms/Connection;
at
org.apache.axis2.transport.jms.JMSConnectionFactory.addDestination(JMSCo
nnectionFactory.java:245)
at
org.apache.axis2.transport.jms.JMSListener.processService(JMSListener.ja
va:174)
at
org.apache.axis2.transport.jms.JMSListener.init(JMSListener.java:138)
at
org.apache.axis2.engine.ListenerManager.start(ListenerManager.java:125)
at
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:442)
at
org.apache.axis2.transport.http.AxisAdminServlet.init(AxisAdminServlet.j
ava:55)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1139)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3956)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4230
)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:448)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Can anybody give me some hints, a sample for websphere mq or a solution
for my problem?
Thank you for any help.
Kind Regards
Matthias Gaiser