Remote EJB lookup behind a firewall hangs
I am trying to lookup my remote EJB on a Glassfish server located behind a firewall. I have some test code which works happily between non-firewalled boxes, but if I try looking up the EJB behind a firewall, the lookup hangs.
I turned on the logging and when the lookup begins, I get the following entry
[#|2014-02-10T15:00:14.125+0000|FINE|glassfish3.1.2|javax.enterprise.resource.corba.org.glassfish.enterprise.iiop.impl|_ThreadID=16;_ThreadName=Thread-4;ClassName=org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory;MethodName=setAcceptedSocketOptions;|setAcceptedSocketOptions: SocketOrChannelAcceptorImpl[7001 IIOP_CLEAR_TEXT true true] ServerSocket[addr=/0.0.0.0,localport=7001] Socket[addr=/xx.xx.xxx.x,port=61530,localport=7001]|#]
Which I guess means that the request has hit the box, but the lookup never completes. I can leave it in this state for days, and it will not timeout. The IIOP port has been configured to listen on 7001, and this works happily on the other servers.
If I kill the test code, then the server throws an IOException reporting an end-of-stream error. If anyone has any ideas as to what is causing this and how to solve it, I'd be very grateful.