Exception in thread "main" org.omg.CORBA.COMM_FAILURE

Exception in thread "main" org.omg.CORBA.COMM_FAILURE - Java - Programmation

Marsh Posté le 01-11-2003 à 14:08:45    

Voila que j'ai une erreur qui est "arrivée" depuis hier lorsque je lance mon serveur (en java - corba). Je ne trouve pas la solution :-(. QQun pourrait-il m'aider?
 
voila la main de mon serveur:
 
public static void main( String[] args ) throws Exception{
     
 // Inialisation de l'ORB
 ORB orb = ORB.init( args, null );
 
 // Initialisation du RootPOA
 //try{
 org.omg.CORBA.Object rootobj = orb.resolve_initial_references("RootPOA" );
 POA rootpoa = POAHelper.narrow(rootobj);
 rootpoa.the_POAManager().activate();
 // }
 //  catch(InvalidName in) {
//      in.printStackTrace();
//      System.exit(2);
//  }
 
 /**
  * Récupération du serveur de noms.
  * En fait, on récupére le répertoire racine du serveur de nom (d'où NamingContext).
  */    
 org.omg.CORBA.Object ncobj;    
 //try {
[#e21c00]->Voici la ligne de l'erreur ncobj = orb.resolve_initial_references("NameService" );
 // }
//  catch(org.omg.CORBA.ORBPackage.InvalidName in){
//      in.printStackTrace();
//      System.exit(1);
//      return; // Necessaire sinon le compilateur dit que obj ne sera pas initiliase
//  }
 NamingContext nc =NamingContextHelper.narrow(ncobj);
 
 // Instanciation d'un servant ForumFactoryImpl
 ForumFactoryImpl servant = new ForumFactoryImpl();
 org.omg.CORBA.Object obj = rootpoa.servant_to_reference(servant);
 
 /**
  * Enregistrement de l'objet CORBA dans le serveur de noms (primitive rebind).
  * Chaque objet peut être enregistré sous plusieurs noms (d'où le tableau NameComponent[]).
  * Chaque nom est un couple de 2 chaînes (identifiant,type).
  * Le contenu de type est libre (ici "" ).
  */
 NameComponent[] noms = new NameComponent[]{ new NameComponent("forumFactory","" ) };
 nc.rebind( noms, obj );
 
 /**
  * On met l'ORB en attente de requètes client.
  * Tant que l'on n'a pas fait orb.run(),
  * le(s) objet(s) cré(s) ne répond(ent) pas aux clients.
  * Ce programme continue à "tourner" tant que l'on ne fait pas Ctrl-C
  */
 System.out.println( "Serveur prêt" );
 orb.run();
    }
 
 
et l'erreur:
Exception in thread "main" org.omg.CORBA.COMM_FAILURE
 
merci

Reply

Marsh Posté le 01-11-2003 à 14:08:45   

Reply

Marsh Posté le 01-11-2003 à 14:16:56    

http://java.sun.com/j2se/1.4.1/doc [...] ILURE.html
 

Citation :


This exception is raised if communication is lost while an operation is in progress, after the request was sent by the client, but before the reply from the server has been returned to the client.
 
It contains a minor code, which gives more detailed information about what caused the exception, and a completion status. It may also contain a string describing the exception.  
 
See the section meaning of minor codes to see the minor codes for this exception.  


 
edit : y a des balises pour entourer le code pour le rendre lisible sur le forum, pare que là c'est dûr !


Message édité par benou le 01-11-2003 à 14:18:00

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:22:46    

T'es sûr que le name service (le orbd de l'autre topic) est correctement lancé ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:25:15    

J'ai pas l'habitude de poster!
 
J'ai suivi le lien, j'en ai appris plus sur le probléme que j'ai mais je n'arrive pas à trouver la réponse :-(

Reply

Marsh Posté le 01-11-2003 à 14:27:27    

Ben justement nan :-/...quand je lance orbd y'a un invité de commandes DOS qui se lance, et qui se ferme aussitot mais à voir y'a des erreurs qui s'affichent!
Est ce que le numéro de port est important quand on lance orbd?

Reply

Marsh Posté le 01-11-2003 à 14:28:51    

essaye de voir ce qu'il y a code d'erreur mineur et de voir à quoi il correspond. T'as que le nom de l'exception qui s'affiche ? t'as pas un message ou un code d'erreur ?
 
mais bon, ca c'est une erreur de com entre l'orb et ton programme ... t'as pas une exception de lancée dans la fenêtre où tu as lancé orbd (lance le sans mettre "start" devant)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:29:45    

tweede a écrit :

Ben justement nan :-/...quand je lance orbd y'a un invité de commandes DOS qui se lance,


c'est surement là l'erreur.
comment tu le lances exactement ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:31:23    

start orbd -ORBInitialPort 1704 -ORBInitialHost MyHOst

Reply

Marsh Posté le 01-11-2003 à 14:32:52    

tu devrais peut être essayer de suivre un des exemples du tutorial (http://java.sun.com/j2se/1.4.2/docs/guide/idl/index.html) pour vérifier que ca fonctionne. C'est très didactique => tu verras peut être que tu as oublié quelque chose ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:34:22    

tweede a écrit :

start orbd -ORBInitialPort 1704 -ORBInitialHost MyHOst


 :heink:  
 
tu devrais mettre que le paramêtre du port ...
 
edit : le MyHost c'est à remplacer par le nom ou l'ip de la machine. mets "localhost" à la rigueur, mais "MyHost" ca va certainement pas marcher !


Message édité par benou le 01-11-2003 à 14:35:31

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:34:22   

Reply

Marsh Posté le 01-11-2003 à 14:41:19    

Une bonne chose de fait: le demon orbd tourne normalement :-)
Bon j'ai toujours la même erreur mais je dois etre sur la bonne voix!
 
merci benou

Reply

Marsh Posté le 01-11-2003 à 14:49:53    

t'as essayé de suivre les tuto ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 14:57:37    

Ben j'ai tapé en ligne de commande:
start orbd -ORBInitialPort 1050 -ORBInitialHost localhost  
et ça a marché
Pour les tutos je comprends rien, c'est le bazard sur la page donc tant pis...
Maintenant j'ai une erreur sur la même ligne de commande mais dans ma classe ForumFactoryImpl qui est:
Exception in thread "main" org.omg.CORBA.NO_IMPLEMENT
 
Je suis allé voir sur la page des erreurs de CORBA mais y'a un pb, elle s'ouvre pas...

Reply

Marsh Posté le 01-11-2003 à 14:59:04    

toi, tu sais pas te servir d'une javadoc :/
 
http://java.sun.com/j2se/1.4.1/doc [...] EMENT.html


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:09:37    

En fait c'était pas sur cette page que je voulais aller, c t sur http://cgi.omg.org/cgi-bin/doc?minor-codes. pour voir en détail l'exception.
 
Bref, je comprends pas trop l'erreur...je vais essayer autre chose en espérrant que là ça marche

Reply

Marsh Posté le 01-11-2003 à 15:14:18    

file le code et la ligne d'erreur qui plante (mais mets la balise c/c++ ce coup ci !)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:30:57    

J'ai changé un truc: je mets en parametre dans le constructeur du forumFactory le POA et l'ORB inialisé dans le serveur (ce qui est logique tout compte fait).
Mais j'ai un probléme au niveau du namingContext maintenant
 
 
/**
package SRC;
import java.util.Properties;
 
import org.omg.CORBA.ORB;
import org.omg.CosNaming.NameComponent;
import org.omg.CosNaming.NamingContext;
import org.omg.CosNaming.NamingContextHelper;
import org.omg.PortableServer.POA;
import org.omg.PortableServer.POAHelper;
 
import SRC.ForumFactoryImpl;
import SRC.ForumImpl;
 
 
 
public class Serveur{
     
    public static void main( String[] args ) throws Exception{
     
 // Inialisation de l'ORB
 
 Properties props = new Properties();
        props.put("org.omg.CORBA.ORBInitialPort", "1050" );
        props.put("org.omg.CORBA.ORBInitialHost", "localhost" );
         
 ORB orb = ORB.init(args, props);
 
 // Initialisation du RootPOA
 //try{
 org.omg.CORBA.Object rootobj = orb.resolve_initial_references("RootPOA" );
 POA rootpoa = POAHelper.narrow(rootobj);
 rootpoa.the_POAManager().activate();
 // }
 //  catch(InvalidName in) {
//      in.printStackTrace();
//      System.exit(2);
//  }
 
 /**
  * Récupération du serveur de noms.
  * En fait, on récupére le répertoire racine du serveur de nom (d'où NamingContext).
  */    
 org.omg.CORBA.Object ncobj;    
 //try {
 ncobj = orb.resolve_initial_references("NameService" );
 // }
//  catch(org.omg.CORBA.ORBPackage.InvalidName in){
//      in.printStackTrace();
//      System.exit(1);
//      return; // Necessaire sinon le compilateur dit que obj ne sera pas initiliase
//  }
 NamingContext nc =NamingContextHelper.narrow(ncobj);
 
 // Instanciation d'un servant ForumFactoryImpl
 ForumFactoryImpl servant = new ForumFactoryImpl(orb,rootpoa);
 org.omg.CORBA.Object obj = rootpoa.servant_to_reference(servant);
 
 /**
  * Enregistrement de l'objet CORBA dans le serveur de noms (primitive rebind).
  * Chaque objet peut être enregistré sous plusieurs noms (d'où le tableau NameComponent[]).
  * Chaque nom est un couple de 2 chaînes (identifiant,type).
  * Le contenu de type est libre (ici "" ).
  */
/**ERREUR sur la ligne ->Exception in thread "main" org.omg.CORBA.COMM_FAILURE:*/
 NameComponent[] noms = new NameComponent[]{ new NameComponent("forumFactory","" ) };
 nc.rebind( noms, obj );
 
 /**
  * On met l'ORB en attente de requètes client.
  * Tant que l'on n'a pas fait orb.run(),
  * le(s) objet(s) cré(s) ne répond(ent) pas aux clients.
  * Ce programme continue à "tourner" tant que l'on ne fait pas Ctrl-C
  */
 System.out.println( "Serveur prêt" );
 orb.run();
    }
}
*/

Reply

Marsh Posté le 01-11-2003 à 15:32:59    

la balise de code bordel !!!
 
entoure ton code de [ cpp] ... [ /cpp] (sans les espaces)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:35:04    

Je peux pas le deviner!
 

Code :
  1. package SRC;
  2. import java.util.Properties;
  3. import org.omg.CORBA.ORB;
  4. import org.omg.CosNaming.NameComponent;
  5. import org.omg.CosNaming.NamingContext;
  6. import org.omg.CosNaming.NamingContextHelper;
  7. import org.omg.PortableServer.POA;
  8. import org.omg.PortableServer.POAHelper;
  9. import SRC.ForumFactoryImpl;
  10. import SRC.ForumImpl;
  11. public class Serveur{
  12.    
  13.     public static void main( String[] args ) throws Exception{
  14.    
  15. // Inialisation de l'ORB
  16. Properties props = new Properties();
  17.         props.put("org.omg.CORBA.ORBInitialPort", "1050" );
  18.         props.put("org.omg.CORBA.ORBInitialHost", "localhost" );
  19.        
  20. ORB orb = ORB.init(args, props);
  21. // Initialisation du RootPOA
  22. //try{
  23. org.omg.CORBA.Object rootobj = orb.resolve_initial_references("RootPOA" );
  24. POA rootpoa = POAHelper.narrow(rootobj);
  25. rootpoa.the_POAManager().activate();
  26. // }
  27. //  catch(InvalidName in) {
  28. //      in.printStackTrace();
  29. //      System.exit(2);
  30. //  }
  31. /**
  32.   * Récupération du serveur de noms.
  33.   * En fait, on récupére le répertoire racine du serveur de nom (d'où NamingContext).
  34.   */   
  35. org.omg.CORBA.Object ncobj;   
  36. //try {
  37. ncobj = orb.resolve_initial_references("NameService" );
  38. // }
  39. //  catch(org.omg.CORBA.ORBPackage.InvalidName in){
  40. //      in.printStackTrace();
  41. //      System.exit(1);
  42. //      return; // Necessaire sinon le compilateur dit que obj ne sera pas initiliase
  43. //  }
  44. NamingContext nc =NamingContextHelper.narrow(ncobj);
  45. // Instanciation d'un servant ForumFactoryImpl
  46. ForumFactoryImpl servant = new ForumFactoryImpl(orb,rootpoa);
  47. org.omg.CORBA.Object obj = rootpoa.servant_to_reference(servant);
  48. /**
  49.   * Enregistrement de l'objet CORBA dans le serveur de noms (primitive rebind).
  50.   * Chaque objet peut être enregistré sous plusieurs noms (d'où le tableau NameComponent[]).
  51.   * Chaque nom est un couple de 2 chaînes (identifiant,type).
  52.   * Le contenu de type est libre (ici "" ).
  53.   */
  54. /**ERREUR sur la ligne ->Exception in thread "main" org.omg.CORBA.COMM_FAILURE:*/
  55. NameComponent[] noms = new NameComponent[]{ new NameComponent("forumFactory","" ) };
  56. nc.rebind( noms, obj );
  57. /**
  58.   * On met l'ORB en attente de requètes client.
  59.   * Tant que l'on n'a pas fait orb.run(),
  60.   * le(s) objet(s) cré(s) ne répond(ent) pas aux clients.
  61.   * Ce programme continue à "tourner" tant que l'on ne fait pas Ctrl-C
  62.   */
  63. System.out.println( "Serveur prêt" );
  64. orb.run();
  65.     }
  66. }

Reply

Marsh Posté le 01-11-2003 à 15:36:36    

tweede a écrit :

Je peux pas le deviner!


non, mais vu que ca fait 3 fois que je te le dit ...
c'est un des boutrons dans l'interface de saisie du post "C/C++"


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:38:52    

ca plante le dessus ? :heink:
NameComponent[] noms = new NameComponent[]{ new NameComponent("forumFactory","" ) };  


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:39:33    

Oui mais comme je fais Réponse rapide à chaque fois, et que aussi le code c'est du java LOL, je pouvais pas le savoir

Reply

Marsh Posté le 01-11-2003 à 15:39:58    

Oui

Reply

Marsh Posté le 01-11-2003 à 15:41:23    


alors ca c'est vraiment bizarre !!!!


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:43:10    

e en regardant le source de NameComponent, on voit que c'est impossible, c'est surement sur le rebind juste en dessous que ca plante !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:44:43    

C'est la ligne en dessous en fait

Reply

Marsh Posté le 01-11-2003 à 15:51:21    

ben écoute j'en sais rien moi ...  
c'est des erreurs de com entre ton serveur et l'orb  ... ca vient d'une mauvaise utilisation, mais je peux pas t'en dire plus.
 
essaye les tutoriaux, j'ai pas d'autres conseils à te donner ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 15:54:13    

C'est pas grave, c'est sympa de ta part de t'être intérressé à mon pb...je vais me prendre une pause, et ptet que je trouverais l'erreur plus tard!
 

Reply

Marsh Posté le 03-11-2003 à 09:37:50    

As-tu lancé un naming service  ?


---------------
Light is right
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed