IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

Problème RUN serveur RMI


Sujet :

Java EE

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Points : 26
    Points
    26
    Par défaut Problème RUN serveur RMI
    Bonjour,

    J'ai une question concernant les RMI.
    Je me sers du pluggin RMI Plug-in for Eclipse (donc je travaille sous Eclipse) pour gérer les rmi. J'ai suivi le tutoriel du site en question : http://www.genady.net/rmi/v20/demos/.
    Dans l'ordre, je démarre le registre local (serveur de nom ?) sur le port 1099. Je fais un "Run as RMI Application" sur la classe de mon 'serveur'. Après quoi j'initialise l'adresse du codeBase. Puis "run".
    Au lancement j'ai les erreurs suivantes dans la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Exception in thread "main" java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
    	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    	at java.security.AccessController.checkPermission(AccessController.java:546)
    	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    	at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
    	at java.net.Socket.connect(Socket.java:519)
    	at java.net.Socket.connect(Socket.java:475)
    	at java.net.Socket.<init>(Socket.java:372)
    	at java.net.Socket.<init>(Socket.java:186)
    	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
    	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
    	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
    	at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
    	at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
    	at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
    	at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    	at java.rmi.Naming.rebind(Naming.java:160)
    	at MessageRouteur.main(MessageRouteur.java:144)
    L'exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
    a attiré mon oeil. Peut être que le port 1099 n'est pas ouvert ici ?
    J'essaye alors de démarrer le registre local sur un autre port. Mais j'ai exactement la même erreur avec le même numéro de port. Donc le registre local ne semble pas influencer le port de connexion pour les Sockets. Comment modifier le numéro de port ?

    Du coup je ne sais pas comment résoudre mon erreur, ni même si l'erreur est liée à cette histoire de port ?.. Est-ce que certaines personnes ont une expérience dans les RMI pour m'apporter un peu d'aide ?

    En tout cas je vous remercie d'avance.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Points : 26
    Points
    26
    Par défaut
    Donc visiblement il fallait rester sur le port 1099. Le problème venait du fait qu'il fallait créer un fichier de règle de sécurité (security policy file). J'ai donc réussi à lancer mon serveur 'RMI'

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je ne pense pas que ce soit un problème de port, plutôt un problème de droit.
    Avec RMI, il faut peut-être modifier le fichier java.policy (ça dépend un peu de la façon de faire), par défaut, tu devrais avoir ceci
    permission java.net.SocketPermission "localhost:1024-", "listen";
    Il faudrait ajouter "connect, accept"

    Les valeurs possibles sont :
    accept
    connect
    listen
    resolve

    Il faut également regarder du côté de "localhost:1024-", là, tu ne peux te connecter qu'en local
    Tu peux utiliser * pour un filtre générique...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 56
    Points : 26
    Points
    26
    Par défaut
    J'avoue que je ne me suis pas posé beaucoup de question.
    A savoir que j'ai crée mon fichier de règle de sécurité. Par défaut sans rien faire,
    il donne toutes les permissions.

    permission java.security.AllPermission;
    Je ne sais pas quelles sont les risques mais je ne sais pas franchement à quoi correspond ce fichier.
    Pour le moment ça marche, donc je ne me suis pas posé de questions... Une mauvaise habitude à ne pas trop adopter...

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    essaie de commenter la ligne de SecurityManager et faire fonctionner l'application! et après on verra si c'est un problème de port occupé ou bien les droits de fichier Policy

Discussions similaires

  1. [RMI] Problème lancement serveur avec Eclipse
    Par Yaya_ dans le forum Langage
    Réponses: 0
    Dernier message: 05/05/2012, 10h44
  2. Problème client/serveur RMI avec Play
    Par rissay dans le forum Play!
    Réponses: 2
    Dernier message: 11/04/2012, 17h16
  3. Problème Client Serveur RMI
    Par Malhak dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/03/2009, 17h57
  4. Probléme démarrage d'un serveur rmi
    Par Kamouzo dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 10/07/2007, 11h40
  5. problème de serveur
    Par fanai1 dans le forum CORBA
    Réponses: 3
    Dernier message: 16/06/2004, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo