JMS over http: server pong problem when client behind firewa
alt_amit Sep 18, 2003 7:22 PMI have a problem while doing JMS over http. JMS topic based communication over http on port 8080 between Java client and JBOSS 3.2.1 server works fine. But if I enable TCP/IP filtering, and filter out TCP ports in the Windows XP Advanced TCP/IP Settings in client, then although client successfully sends JMS message to server and server receives it, server when publishing to the topic to reply, gets following exception. I tried looking up UILConnectionFactory and also UIL2ConnectionFactory instead of just ConnectionFactory, when looking up topic connection factory, but the stack trace below shows JBOSS server goes back to pong with OIL layer. I want the pong to happen with UIL (or preferably UIL2). Since the JBossBook_304 clearly states that OIL IL should not be used by clients sitting behind firewall, how do I force UIL2 usage ?
Thanks in advance for any help.
- amit.
**************** STACK TRACE ON JBOSS LOG BELOW *************************
va.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.(Socket.java:309)
at java.net.Socket.(Socket.java:153)
at org.jboss.mq.il.oil.OILClientIL.createConnection(OILClientIL.java:175
)
at org.jboss.mq.il.oil.OILClientIL.checkSocket(OILClientIL.java:156)
at org.jboss.mq.il.oil.OILClientIL.pong(OILClientIL.java:112)
at org.jboss.mq.server.JMSDestinationManager.ping(JMSDestinationManager.
java:837)
at org.jboss.mq.server.JMSServerInterceptorSupport.ping(JMSServerInterce
ptorSupport.java:308)
at org.jboss.mq.server.TracingInterceptor.ping(TracingInterceptor.java:7
12)
at org.jboss.mq.server.JMSServerInvoker.ping(JMSServerInvoker.java:310)
at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.
java:324)
at java.lang.Thread.run(Thread.java:534)
13:59:50,380 WARN [OILServerILService] Client request resulted in a server exce
ption:
org.jboss.mq.SpyJMSException: Could not pong; - nested throwable: (java.rmi.Remo
teException: Cannot connect to the ConnectionReceiver/Server)
at org.jboss.mq.server.JMSDestinationManager.ping(JMSDestinationManager.
java:841)
at org.jboss.mq.server.JMSServerInterceptorSupport.ping(JMSServerInterce
ptorSupport.java:308)
at org.jboss.mq.server.TracingInterceptor.ping(TracingInterceptor.java:7
12)
at org.jboss.mq.server.JMSServerInvoker.ping(JMSServerInvoker.java:310)
at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.
java:324)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.rmi.RemoteException: Cannot connect to the ConnectionReceiver/Se
rver
at org.jboss.mq.il.oil.OILClientIL.createConnection(OILClientIL.java:183
)
at org.jboss.mq.il.oil.OILClientIL.checkSocket(OILClientIL.java:156)
at org.jboss.mq.il.oil.OILClientIL.pong(OILClientIL.java:112)
at org.jboss.mq.server.JMSDestinationManager.ping(JMSDestinationManager.
java:837)
... 5 more
13:59:50,572 ERROR [OILClientIL] Cannot connect to the ConnectionReceiver/Server
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.(Socket.java:309)
at java.net.Socket.(Socket.java:153)
at org.jboss.mq.il.oil.OILClientIL.createConnection(OILClientIL.java:175
)
at org.jboss.mq.il.oil.OILClientIL.checkSocket(OILClientIL.java:156)
at org.jboss.mq.il.oil.OILClientIL.receive(OILClientIL.java:130)
at org.jboss.mq.server.ClientConsumer.doWork(ClientConsumer.java:284)
at org.jboss.mq.threadpool.ThreadPool$WorkerThread.run(ThreadPool.java:2
30)
13:59:50,573 WARN [ClientConsumer] Could not send messages to a receiver.
java.rmi.RemoteException: Cannot connect to the ConnectionReceiver/Server
at org.jboss.mq.il.oil.OILClientIL.createConnection(OILClientIL.java:183
)
at org.jboss.mq.il.oil.OILClientIL.checkSocket(OILClientIL.java:156)
at org.jboss.mq.il.oil.OILClientIL.receive(OILClientIL.java:130)
at org.jboss.mq.server.ClientConsumer.doWork(ClientConsumer.java:284)
at org.jboss.mq.threadpool.ThreadPool$WorkerThread.run(ThreadPool.java:2
30)
13:59:50,574 ERROR [JMSDestinationManager] The connection to client ID:2 failed.
13:59:50,576 ERROR [OILClientIL] Cannot connect to the ConnectionReceiver/Server
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.(Socket.java:309)
at java.net.Socket.(Socket.java:153)
at org.jboss.mq.il.oil.OILClientIL.createConnection(OILClientIL.java:175
)
at org.jboss.mq.il.oil.OILClientIL.checkSocket(OILClientIL.java:156)
at org.jboss.mq.il.oil.OILClientIL.close(OILClientIL.java:72)
at org.jboss.mq.server.JMSDestinationManager.connectionClosing(JMSDestin
ationManager.java:578)
at org.jboss.mq.server.JMSDestinationManager.connectionFailure(JMSDestin
ationManager.java:597)
at org.jboss.mq.server.ClientConsumer.doWork(ClientConsumer.java:292)
at org.jboss.mq.threadpool.ThreadPool$WorkerThread.run(ThreadPool.java:2
30)