Acessar jboss (Serviço JNDI) por rede externa (Internet)

Preciso acessar minha aplicação (Desktop) fora de minha intranet.

Estou utilizando JBoss 3.2.5.

Problema:
Não consigo pegar o InitialContext.

Hashtable props = new Hashtable();
props.put( InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory" );
props.put( InitialContext.PROVIDER_URL, "jnp://" + [ip internet]:1099 );
InitialContext initialContext = new InitialContext(props);

Erro:
Java.rmi.ConnectException: Connection refused to host [ip internet];

java.net.ConnectException: Connection time out;

Procedimentos realizados:
:arrow: Caso levante o jboss sem parâmetro algum (run.sh) ele responde para o meu cliente passando o ip de minha intranet. Dessa forma resolvi passando como parâmetro a opção -Djava.rmi.server.hostname=[ip internet] para a variável de ambiente JAVA_OPTS no arquivo run.conf.
:arrow: Em meu firewall foram redirecionadas as seguintes portas para a máquina da intranet que esta rodando o jboss: 1099, 1098, 4444 e 4445.
:arrow: Estou logando as requisição TCP na máquina servidor e capturo o seguinte:

May  4 10:56:25 fabricio kernel: JBOSS: IN=eth0 OUT= MAC=00:50:8d:67:0a:f7:00:80:ad:7a:bd:e0:08:00 
SRC=[ip cliente] DST=[ip servidor intranet] LEN=48 TOS=0x00 PREC=0x00 TTL=121 ID=19729 DF PROTO=TCP 
SPT=50924 DPT=1099 WINDOW=65535 RES=0x00 SYN URGP=0

May  4 11:21:25 fabricio kernel: JBOSS: IN=eth0 OUT= MAC=00:50:8d:67:0a:f7:00:80:ad:7a:bd:e0:08:00 
SRC=[ip servidor intranet] DST=[ip cliente] LEN=48 TOS=0x00 PREC=0x00 TTL=121 ID=33740 DF PROTO=TCP 
SPT=50966 DPT=1098 WINDOW=65535 RES=0x00 SYN URGP=0

Depois da 2a linha de log após algum tempo ocorre o erro (time out) citado acima.

Qualquer ajuda é bem vinda :slight_smile: .

flw

Acreditem se quiserem, mas com a porta 4444 não funfa. :slight_smile:

Troquei (chutei) por outra porta 9008 por exemplo e funfou legal.

Oi…

Tive o mesmo problema que vc, no entanto consegui resolver conforme vc explicou… :slight_smile:

Mas ai, surgiu outro problema, se o IP da NET muda, tenho q restartar o JBoss novamente?

pt.put( Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory" ); pt.put( Context.PROVIDER_URL, "localhost" );

não esqueça de que no seu classpath deve ter o jar jbossall-client.jar

bom divertimento