Necesito ayuda con RMI

Jose
24 de Marzo del 2005
Al ejecutar el un programa implementado en un servidor RMI me da el siguiente error:
java.security.AccessControlIException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve).
Como podria resolverlo.
Nota: me puede afectar el cortafuegos que tengo instalado?

juan carlos zorzi
24 de Marzo del 2005

Hola Jose!
No es tu cortafuegos si es que estas trabajando local.
Lo que pasa es que al correr tu aplicación no haz agregado
la fila de 'policy' de seguridad que lo haces con:
-Djava.security.policy=/home/juanz/rmi_ex/lib/rmi.policy

donde rmi.policy es la una fila que se ve más o menos asi:
grant {
// Allow everything for now
permission java.security.AllPermission;
};

en resumen:
1)corres rmiregistry:
C:start rmiregistry (o unix) unix%>rmiregisty
2)corres el servidor:
unix%>java -classpath /home/juanz/rmi_ex/lib/elevator.jar
-Djava.security.policy=/home/juanz/rmi_ex/lib/rmi.policy
-Djava.rmi.server.codebase=file:/home/juanz/rmi_ex/elevatorlibelevator.jar
elevator.Elevators -top 5 -number 5 -rmi

3)corres el cliente:

........


Jose
24 de Marzo del 2005
Gracias ante todo.
Estoy utilizando windows y el unico policy que encuentro es java.policy en el directorio C:jdk1.3.1_01jrelibsecurity.
Por lo tanto la forma de ejecutar seria:
java -Djava.security.policy=C:jdk1.3.1_01jrelibsecurity MiServidor.
Y la linea:
permission java.security.AllPermission;
la incluyo en el fichero java.policy.

ivo_es
24 de Marzo del 2005
No se si ya lo habras resuelto todo o no, pero si todavia estas depurando la aplicacion este podria ser un buen consejo:
Crea un fichero .bat que contenga la siguiente linea:
java -Djava.security.policy=java.policy MiServidor

y copia un fichero java.policy al directorio donde esten tus clases.
Un fichero estandar "java.policy" adecuado podria ser:

grant {
permission java.net.SocketPermission "*:1024-65535", "connect,accept";
permission java.security.AllPermission;
};

Espero que te funcione todo bien.

jose
24 de Marzo del 2005
Gracias a todos.
Problema solucionado.

Pedro
24 de Marzo del 2005
Hola, he visto este foro, (aunq es antiguo lo q esta escrito) y me pasa algo muy parecido, no me coge el rmi.policy q le agregue, la ruta -Djava.security.policy= .... esta bien, ya no se q hacer, pq no me detecta ni los fallos de sintaxis dentro del archivo rmi.policy.

si alguien puede ayudarme,
Muchas gracias