Error de conexion al servidor
Un problema que puede ocurrir es la imposibilidad de O3Browser u O3Administrator de conectarse al servidor O3.
Existen 2 razones principales para este problema:
- Un problema de red o la informacion de conexión del cliente es errónea
- Comprobar que el nombre de la maquina o ip de la maquina servidor es correcta
- Comprobar que el puerto es correcto, por omisión el valor debe ser 1099.
- No jrmp server flag: en la solapa J2EE options, el checkbox "Connect to to J2EE server" debe estar habilitado.
- Problemas en el servidor
- el servidor no inicia
- el servidor inicia pero no lo hace correctamente
Dónde y cómo comprobar que la dirección y puerto sean correctos
En el caso de O3Browser estos valores (dirección del servidor y puerto) se pueden ver y modificar en Herramientas -> Opciones de conexión. En el caso de O3 AdmServer, en el primer campo esta el nombre del servidor y el puerto (por omisión es localhost, se asume el puerto 1099). En ambos casos hay que poner los valores correctos de puerto y dirección, en el caso de O3 AdmServer, en el campo host se pone <host>:<port>, el valor por omisión es localhost:1099.
Para ver que la dirección del host y el puerto estén bien, y se pueda acceder a ellos (puede haber un firewall), se puede utilizar el comando telnet (tanto en plataformas Windows como Unix). Supongamos que el servidor es www.xxx.com, y el puerto 1299
telnet www.xxx.com 1299
Si el resultado del telnet es exitoso, se puede afirmar que la tanto la dirección del servidor como el puerto son correctos. El telnet responde exitosamente si en la pantalla aparece un mensaje del estilo:
Trying 100.200.1.33...
Connected to 100.200.1.33.
Escape character is '^]'
En caso que el telnet no responda (aparece el mensaje de Trying to connect... y se queda esperando, o directamente sale un mensaje de error que dice "Connect failed" o algo similar), se puede intentar verificar con el comando ping que el servidor sea accesible:
ping www.xxx.com
Si la respuesta es algo del estilo:
PING www.xxx.com (100.200.1.33) 56(84) bytes of data.
64 bytes from 100.200.1.33: icmp_seq=1 ttl=128 time=0.482 ms
64 bytes from 100.200.1.33: icmp_seq=2 ttl=128 time=0.231 ms
podemos afirmar que el servidor está accesible
Si la respuesta es algo como:
PING www.xxx.com (100.200.1.33) 56(84) bytes of data.
From 10.2.1.1: icmp_seq=2 Destination Host Unreachable
From 10.2.1.1: icmp_seq=2 Destination Host Unreachable
entonces podemos suponer que no tenemos acceso al servidor por la red. Puede ser que haya un firewall que no nos deje acceder al servidor, o el nombre (www.xxx.com en el ejemplo) este siendo mal resuelto (la direccion de www.xxx.com no es 100.200.1.33. Ambas cosas deben ser consultadas al administrador de la red, a quien tambien hay que consultarle si la maquina www.xxx.com debe responder al comando ping o no (suele pasar que el ping se deshabilite por motivos de seguridad en máquinas expuestas a Internet).
Si funcionó el ping, pero no el telnet, podemos afirmar que el O3Server no responde, ya sea porque no está levantado, porque levantó con errores o porque el puerto que se indica no es el correcto. Si los puertos del servidor no fueron cambiados explícitamente, el puerto es 1099.
Porqué el servidor no levantó o no lo hizo en forma correcta.
La primera verificación que hay que realizar es que los puertos no estén ocupados por otra aplicación. Una forma de hacerlo es mediante el comando telnet. (primero hay que asegurarse que el O3 Server NO este corriendo!)
telnet www.xxx.com 1299
Si el telnet es exitoso, significa que otra aplicación está ocupando el puerto, en ese caso hay que reconfigurar O3 para cambiar los puertos que usa.
En cambio, si el telnet falla, significa que el puerto está libre o no puede ser accedido debido a restricciones de firewall (consultar con el administrador de la red). Si se descartan los problemas de red, sólo queda revisar el archivo de log del servidor para ver cuáles son los errores que impiden la correcta ejecución del O3 Server (error en configuraciones de Bases de Datos, etc).
tcpview.exe, netstat -p
Problemas de configuración del servidor
Si el servidor levanta correctamente, y se puede acceder a el en el puerto 1099 (o el que se haya configurado), hay que revisar el valor de la variable java.rmi.server.hostname.
Esta propiedad debe ser agregada en el archivo de ejecucion de jboss, (jboss.sh o jboss.bat), y debe tener como valor el nombre del PC donde esta JBoss. En presenncia de un firewall/proxy, la dirección IP o nombre que se indique en esta propiedad debe corresponder a una dirección accesible tanto desde fuera (Internet) como desde adentro (Intranet). Esto se logra configurando correctamente el DNS.
En Windows, agregarle al archivo <O3>\bat\JBoss.bat un linea como sigue
set JAVA_OPTS=%JAVA_OPTS% -Djava.rmi.server.hostname=192.168.0.187
(despues de las JAVA_OPTS que ya estuvieren)
En Linux, agregar en <O3>/sh/jboss.sh,
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.187"
en la linea anterior a la que dice export JAVA_OPTS
Luego de efectuados estos cambios, se debe reiniciar el servidor O3.
Una vez que el servidor levante, probar que los puertos siguientes estén habilitados usando el comando telnet desde la máquina cliente: 1098, 1099, 4444 y 4445 (puertos por omisión).