Probleme nullPointerException avec rmi

Résolu
Signaler
Messages postés
14
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
2 septembre 2015
-
Messages postés
14
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
2 septembre 2015
-
Bonjour, pour nos études, nous devons effectuer un framework en java en utilisant le rmi.
Ce framework est terminé mais lorsque nous voulons le tester, nous avons un message d'erreur qui dis :

Exception in thread "main" java.Lang.NullPointerException
    at client.ClientImpl.envoiObjetTous(ClientImpl.java:99)
    at test.test.main(test.java:25)

voici la methode appelée qui se trouve dans ClientImpl :

    public void envoiObjetTous(Object obj)
      {
        tunnel.envoiObjetServeurTous(nomClient, obj);        <===== ligne 99
      }
   
    ou tunnel est le nom de notre serveur (private Serveur tunnel; ... this.tunnel = (Serveur) Naming.lookup("rmi://" + serveur +                 "/Serveur");)
    et nomClient est le nom du client (String)

voici ce qui est ecrit dans le main de test :

public static void main(String[] args) throws RemoteException
    {
     
        ClientImpl moi=new ClientImpl();
        moi.connexion("moi", "127.0.0.1");
        moi.envoiObjetTous("bonjour");         <===== ligne 25
       
    }

et enfin la methode se trouvant sur le serveur appelée a la ligne 99 :

public synchronized void envoiObjetServeurTous(String nomEmetteur, Object objetMsg)
  {
  eUsers = users.elements();
   
  while (eKeys.hasMoreElements())
  {
      Client user = ( (Client) eUsers.nextElement());
      try
      {
          user.recoiObjet(nomEmetteur,objetMsg);
      }
      catch (RemoteException ex)
     {
          ex.printStackTrace();
      }
  }
}

si quelqu'un a une idée de ce qui ne va pas, je vous remercie d'avance car la on a pataugé dessus toute l'après midi!!!!!
merci beaucoup
A voir également:

2 réponses

Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
Y'a pas 36 solutions, si tu as un NPE c'est que this.tunnel = (Serveur) Naming.lookup("rmi://" + serveur +  "/Serveur"); te renvoie null donc il ne trouve pas ton serveur. Je connais pas grand-chsoe en RMI donc c'est tout ce que je peux te dire. Peux-tu nous confirmer que suite au lookup, le serveur est null?
Messages postés
14
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
2 septembre 2015

Salut, c'est bon on a trouvé en fait c'est tout simplement que mon serveur s'apelle tunnel et non pas Serveur donc j'aurais du mettre
this.tunnel = (Serveur) Naming.lookup("rmi://" + serveur +  "/tunnel");                      

au lieu de

this.tunnel = (Serveur) Naming.lookup("rmi://" + serveur +  "/Serveur");

Merci beaucoup!!!!