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

Services Web Java Discussion :

[rmi] Pas de bind sur un Registry distant


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut [rmi] Pas de bind sur un Registry distant
    Bonjour,

    Dans un TP on nous a demandé de mettre en place sur 3 machines différentes : un RMIRegistry sur une machine,
    un serveur sur une deuxième machine qui s'enregistrera auprès de ce RMIRegistry ((re)bind),
    un client sur la troisième machine, qui récupèrera la référence du serveur.

    Hélas, un problème survient lors du bind du serveur sur le RMIRegistry :

    J'ai l'erreur suivante :
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.AccessException: Registry.Registry.bind disallowed; origin /172.31.18.31 is non-local host
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
    at sun.rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(AccessController.java)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.AccessException: Registry.Registry.bind disallowed; origin /172.31.18.31 is non-local host
    at sun.rmi.registry.RegistryImpl.checkAccess(RegistryImpl.java:223)
    at sun.rmi.registry.RegistryImpl.bind(RegistryImpl.java:119)
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
    ...7 more
    Le rmiregistry sur la machine distante est lancé avec "rmiregistry 1099 &".
    Voici le code employé côté serveur pour réaliser le bind :
    System.setSecurityManager(new RMISecurityManager());
    Registry delegate = LocateRegistry.getRegistry("MI105-01",1099);
    ImpServeurHello s=new ImpServeurHello();
    delegate.bind("testdistant", s);
    Au début, j'ai pensé qu'il s'agissait d'un problème d'autorisation, aussi ai-je relancé le rmiregistry, ainsi que le serveur en fournissant les droits suivants :
    grant { permission java.security.AllPermission; };
    Mais je me retrouve avec la même erreur.

    Je pense donc que je n'emploie pas la bonne méthode. J'ai trouvé une discussion sur un forum en anglais concernant plus ou moins un problème similaire. En gros, il fallait créer un Registry délégué côté serveur qui servirait d'intermedaire pour ajouter des références au Registry distant. Je n'arrive malheursement pas à retrouver cette discussion. Ni de tuto sur comment réaliser celà.

    Je m'en remet donc à vous en espérant que vous ayez une solution à ce problème

    NOTE : Sur les trois machines, c'est la version 1.5.0 de java qui est utilisée, mais j'ai testé avec la 1.6.0, et le problème persiste.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    Personne n'a d'idée ? Ou ai-je mal choisi la rubrique où poster ce topic ? (il y en a tellement)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Points : 11
    Points
    11
    Par défaut
    Up

    J'aimerai iaussi binder sur un serveur distant mais je ne voie pas comment faire ? :s De plus certain dise que c est impossible..

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/11/2008, 10h27
  2. Réponses: 10
    Dernier message: 24/10/2008, 13h33
  3. Je ne retrouve pas mes fichiers sur le site distant ! :-(
    Par Kosh5 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 22/11/2007, 13h21
  4. Réponses: 4
    Dernier message: 01/08/2007, 15h45
  5. Réponses: 1
    Dernier message: 16/02/2007, 12h18

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