1 Reply Latest reply on May 23, 2011 11:09 PM by vkivaturi

    JMS client unable to receive messages from server

    vkivaturi

      Hi,

      I'm using JBoss 5.1.0.GA. There are 2 instances. One instance has ESB and some web services running. ESB has JMS listeners configured and triggers the web services. This setup works when I use a standalone Java JMS client to send request message and receive the reponse from reply queue.

      Now, I moved the same standalone client code to a web application, again running on a different JBoss 5.1.0 GA instance. The message is sent successfully from client application. On server side, ESB picks it up, calls the web service and sends the reply JMS message back.

       

      But the client application is not able to process the reply message. Immediately after "TextMessage message = (TextMessage) receiver.receive()", following exception is thrown:

       

      16:15:56,125 ERROR [ServerInvoker] Error executing server oneway invocation request: InvocationRequest[16a6469, CALLBACK, InternalInvocation[1e63688]] org.jboss.remoting.callback.HandleCallbackException: Unknow callback type: InvocationRequest[10af156, ClientDelivery[JBossMessage[21391428092411916]:PERSISTENT]]         at org.jboss.jms.client.remoting.CallbackManager.handleCallback(CallbackManager.java:125)         at org.jboss.remoting.ServerInvoker.handleInternalInvocation(ServerInvoker.java:1628)         at org.jboss.remoting.transport.bisocket.BisocketServerInvoker.handleInternalInvocation(BisocketServerInvoker.java:863)         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:878)         at org.jboss.remoting.ServerInvoker$1.run(ServerInvoker.java:2026)         at org.jboss.jms.server.remoting.DirectThreadPool.run(DirectThreadPool.java:63)         at org.jboss.remoting.ServerInvoker.handleOnewayInvocation(ServerInvoker.java:2037)         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:861)         at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)

       

      I read in this forum that such issue happens when different versions of JBoss are used; but I have both the client and server applications on 5.1.0.GA.

       

      Please let me know if there are any potential classpath or version issues I should look out for. Changing the debug level for JMS and Remoting packages is not giving any additional information.

       

      Thanks

      Vijay

        • 1. JMS client unable to receive messages from server
          vkivaturi

          The problem is resolved. There were multiple issues:

          1. The office laptop I was using had some stringent firewall setting. Access to unauthorized ports was disabled even for local machine. Changed the firewall settings and JBoss communication started working both ways.

          2. One of the project jar files was using Maven transitive dependency feature and adding an unwanted jar file(geronimo-jms_1.1_spec.jar) to application war. This caused an exception where app server was trying to cast JBoss queueu objects returned by JNDI lookup to normal javax queue objects. Made this dependency as 'provided' in Maven so that the code compiles but Geronimo JMS jar does not get added to war file.