I forgot to include the action in jboss-esb.xml
<action name="routeToReplyQueue2" class="org.jboss.soa.esb.actions.routing.JMSRouter"> <property name="jndi-context-factory" value="org.jnp.interfaces.NamingContextFactory"/> <property name="jndi-URL" value="127.0.0.1:11099"/> <property name="jndi-pkg-prefix" value="org.jboss.naming:org.jnp.interfaces"/> <property name="connection-factory" value="ConnectionFactory"/> <property name="jndiName" value="queue/A"/> <property name="unwrap" value="true"/> <property name="security-principal" value="guest"/> <property name="security-credential" value="guest"/> </action>
Did you include jbossmq-client.jar on the client side?
The client sent the a JMS message to jboss-esb without a problem. JBoss-esb received the message, printed out the content of the message, but failed to perform JMS Route to queue/A of another JBoss instance. The error was printed out on the jboss-esb console.
I don't know what I need to configure either jboss-esb and/or jboss so the message can be routed properly.
You are mixing up different JMS implementations in the two servers, jbossesb-server is pre-configured with JBoss Messaging whereas jboss-4.2.2 still uses JBossMQ.
Your client is sending a message to the jbossesb-server using JBoss messaging but that server is then being asked to send a new message to the jboss-4.2.2 instance using a different provider (JBossMQ).
For this to be possible the jbossesb-server must also have access to the jbossmq-client.jar (it is the client to the jboss-4.2.2 server).
Please place a copy of the jbossmq-client.jar within the server/default/lib directory of the jbossesb-server and try once more.
Thanks for your help. I can see the messages coming through to the second JBoss server.