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]