I have an instance of JBossAS running on an internal server behind an external server
(firewall/router). The external server has port forwarding configured for ports 8080
(HTTP), 1098 and 1099 (JNDI) and 3873 (EJB3). I'm trying to access EJB3 through a
Swing Client. However, I'm getting a timeout exeception, which reveals that ejb3s are
accessed through ip of the internal server:
org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem
establishing socket connection for InvokerLocator
[socket://<INTERNAL_SERVER_IP>:3873/]
|
I resolved this problem by configuring the following for all used EJB3 in jboss.xml:
<session>
| <ejb-name>TestBean</ejb-name>
| <remote-binding>
|
<client-bind-url>socket://<EXTERNAL_SERVER_IP>:3873</client-bind-url>
| </remote-binding>
| </session>
However, as this configuration is packet within the EAR file it is an ugly solution.
I wonder if it would be possible to configure this in jboss-server.xml of ejb3.deployer?
Something like:
<attribute
name="clientConnectAddress"><EXTERNAL_SERVER_IP></attribute>
| <attribute name="clientConnectPort">3873</attribute>
I'm using JBossAS 4.2.1 GA. I have set
-Djava.rmi.server.hostname=<EXTERNAL_SERVER_IP>. I'm starting JBossAS with -b
0.0.0.0.
Regards,
Magnus
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4118642#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...