Exception in thread "main" org.omg.CORBA.COMM_FAILURE - Java - Programmation
Marsh Posté le 01-11-2003 à 14:16:56
http://java.sun.com/j2se/1.4.1/doc [...] ILURE.html
Citation : |
edit : y a des balises pour entourer le code pour le rendre lisible sur le forum, pare que là c'est dûr !
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é ?
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 :-(
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?
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)
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 ?
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 ...
Marsh Posté le 01-11-2003 à 14:34:22
tweede a écrit : start orbd -ORBInitialPort 1704 -ORBInitialHost MyHOst |
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 !
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
Marsh Posté le 01-11-2003 à 14:49:53
ReplyMarsh 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...
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
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
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 !)
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();
}
}
*/
Marsh Posté le 01-11-2003 à 15:32:59
la balise de code bordel !!!
entoure ton code de [ cpp] ... [ /cpp] (sans les espaces)
Marsh Posté le 01-11-2003 à 15:35:04
Je peux pas le deviner!
Code :
|
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++"
Marsh Posté le 01-11-2003 à 15:38:52
ca plante le dessus ?
NameComponent[] noms = new NameComponent[]{ new NameComponent("forumFactory","" ) };
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
Marsh Posté le 01-11-2003 à 15:41:23
ReplyMarsh 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 !
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 ...
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!
Marsh Posté le 03-11-2003 à 09:37:50
As-tu lancé un naming service ?
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