Hi Mark

The MQ-JMS libs are placed in "<tomcat-home>/common/lib".

ok.. I assume this makes the JARs available to Axis2 runtime as well

So far so good. Now I have to configure Axis 2 to make use of my newly-exposed JMS resources.
My axis2.xml file contains the following entries:

------------------------------------------------------
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
    <parameter name="default" locked="false">
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">java:comp/env/jms/QueueConnectionFactory</parameter> <property name="java.naming.security.principal" value="MyRealMQUserID"/> <property name="java.naming.security.credentials" value="MyRealMQPassword"/> <parameter name="transport.jms.Destination" locked="false">MYQ.IN, MYQ.OUT</parameter>
    </parameter>
</transportReceiver>

<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>
------------------------------------------------------

The transport receiver needs to be configured to suit your JMS environment - I am not sure if the connection factory JNDI name above is correct - but I assume you are aware of the proper configuration for Tomcat and WebsphereMQ. I think you will also need to specify the java,naming.factory.initial and java.naming.provider.url to suit your environment (see http://ws.apache.org/axis2/1_1/jms-transport.html)

Finally, you cannot define the transport.jms.Destination on your axis2.xml - but on the services.xml of each service that uses the JMS transport. As per the above document, if your services.xml does not provide it, Axis2 will assume the service should listen for messages on a Queue having the same name as the service itself.

The examples used in the documentation refers to ActiveMQ, which creates destinations on demand - whereas Webspehere might not - so again, its your responsibility to ensure that the destinations are already created and ready for Axis2 to use - if that needs to be done as a separate step.
The first problem is that I have no message in the log saying "JMS Transport Receiver (Listener) initialized..." (this is from org.apache.axis2.transport.jms.JMSListener)
Once the above is configured properly, the JMS transport should start up with the above message

The second thing is that it's not clear (to me) how I tell axis2 what queue to listen on and what queue to respond to. Do I just put two entries in the 'transport.jms.Destination' tag with the first being the input and the second being the output? Or
is the reply Queue set in the JMS-header of the request message?

You specify the input destination for the service in its services.xml, and the reply would be sent over the reply-to queue

If I get this going I'll like to submit a page for the wiki.

Cool, hope this information will help you get started, and do let us know if you encounter new issues

asankha

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to