Probleme nullPointerException avec rmi [Résolu]

Raph382 14 Messages postés mercredi 10 octobre 2007Date d'inscription 2 septembre 2015 Dernière intervention - 28 avril 2008 à 18:02 - Dernière réponse : Raph382 14 Messages postés mercredi 10 octobre 2007Date d'inscription 2 septembre 2015 Dernière intervention
- 29 avril 2008 à 11:45
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_jojolemariole 519 Messages postés mercredi 21 mars 2007Date d'inscription 19 décembre 2016 Dernière intervention - 29 avril 2008 à 09:12
3
Merci
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?

Merci cs_jojolemariole 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_jojolemariole
Meilleure réponse
Raph382 14 Messages postés mercredi 10 octobre 2007Date d'inscription 2 septembre 2015 Dernière intervention - 29 avril 2008 à 11:45
3
Merci
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!!!!

Merci Raph382 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Raph382

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.