CORBA probleme avec Linux

CORBA probleme avec Linux - Java - Programmation

Marsh Posté le 15-07-2004 à 17:38:59    

Salut evreybody,
 
J'ai une appli CORBA (java Sun 1.4.2) qui tourne a merveille sous WinXP, je doit le foutre sur une @#"{##) de machine Linux.  
 
Or je n'arrive pas me connecter au service de nommage. et j'obtiens :
 
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
        at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
        at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
        at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(Unknown Source)
        at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
        at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.resolve(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.resolveUsingBootstrapProtocol(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialReferences(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_references(Unknown Source)
        at com.sun.corba.se.internal.corba.ORB.resolve_initial_references(Unknown Source)
        at VolatilityServer.main(VolatilityServer.java:115)
 
 
 
J'ai parcouru tt les forum essayer toutes les solutions (sauf la bonne apparement). mon /etc/hosts et correct avec  127.0.0.1     localhost
 
Bref au secours... :cry:

Reply

Marsh Posté le 15-07-2004 à 17:38:59   

Reply

Marsh Posté le 16-07-2004 à 09:56:38    

Ton NamingService tourne sur la même machine que ton appli ?
Il est bien lancé ? Les ports sont corrects ainsi que le nom de machine ?
Y'a pas de firewall ?


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

Marsh Posté le 16-07-2004 à 15:09:52    

y a pas de firewall. Le Naming service tourne sur la mme machine.
 
Les ports et la machine sont corrects à 200%.
 
Up :bounce:

Reply

Marsh Posté le 16-07-2004 à 15:34:09    

Tu le lances via orbd ?
P-e un pb de JAVA_HOME/CLASSPATH.
Sinon, ok pour com. .. .corba, mais le ORB.resolve...() est bizarre.
 
L'idee du firewall me plaisait bien.

Reply

Marsh Posté le 16-07-2004 à 15:49:46    

Ben poste nous le bout code qui fait la connexion au NamingService.
Tu as bien mis les mêmes nom de machine et de port dans ton appli et quand tu lances le NamingService ?


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

Marsh Posté le 16-07-2004 à 15:58:05    

les démos fournis avec ton ORB tournent-elles ?
genre la démo du NS ?

Reply

Marsh Posté le 16-07-2004 à 16:39:38    

JE lance via ORBD
mon classpath est ok
mon java_home n'existe pas, je vais checker avec ça

Reply

Marsh Posté le 16-07-2004 à 16:43:42    

ça marche pas mieux :(

Reply

Marsh Posté le 16-07-2004 à 16:48:34    

Je repete que mon ORBD est sur la mme machine que moin appli servant. et ça semble poser un pb sous linux (alors que sous Winxp non).

Reply

Marsh Posté le 16-07-2004 à 16:52:53    

Ben ca peut quand même être un problème lié aux paramètres que tu passes au NamingService et à ton appli.
Tu ne veut pas nous donner les paramètres de lancement ?


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

Marsh Posté le 16-07-2004 à 16:52:53   

Reply

Marsh Posté le 16-07-2004 à 17:07:23    

mm les scripts :
 
L'orbd :
 
/usr/java/j2re1.4.2_04/bin/orbd -ORBInitialPort 1050 -ORBInitialHost localhost
 
 
 
 
L'appli :
 
export CLASSPATH=$CLASSPATH:.:Pricer.jar:/usr/java/j2re1.4.2_04/lib/rt.jar:/usr/java/j2re1.4.2_04/lib/ext:/usr/java/j2re1.4.2_04/lib
export JAVA_HOME=$JAVA_HOME:/usr/java/j2re1.4.2_04
/usr/java/j2re1.4.2_04/bin/java -Djava.security.policy=Vol.policy VolatilityServer -ORBInitialPort 1050 -ORBInitialHost localhost
 
 
 

Reply

Marsh Posté le 16-07-2004 à 17:07:45    

désolé pour les smileys automatiques !

Reply

Marsh Posté le 09-08-2004 à 16:57:17    

:bounce:

Reply

Marsh Posté le 10-08-2004 à 09:21:56    

Poste un bout de code stp


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

Marsh Posté le 10-08-2004 à 10:19:44    

mon fichier /etc/hosts :
127.0.0.1       localhost.otcex         localhost
10.0.0.93       einstein.otcex          einstein
 
le code des .sh pour lancer l'orb et le servant vous avez déja, mais j'ai tt essayé :
 
export CLASSPATH=$CLASSPATH:.:Pricer.jar:/usr/java/j2re1.4.2_04/lib/rt.jar:/usr/java/j2re1.4.2_04/lib/ext
export JAVA_HOME=$JAVA_HOME:/usr/java/j2re1.4.2_04
/usr/java/j2re1.4.2_04/bin/orbd -ORBInitialPort 1050 -ORBInitialHost 10.0.0.93
 
et  
 
export CLASSPATH=$CLASSPATH:.:Pricer.jar:/usr/java/j2re1.4.2_04/lib/rt.jar:/usr/java/j2re1.4.2_04/lib/ext:/usr/java/j2re1.4.2_04/lib
export JAVA_HOME=$JAVA_HOME:/usr/java/j2re1.4.2_04
/usr/java/j2re1.4.2_04/bin/java VolatilityServer -ORBInitialPort 1050 -ORBInitialHost 10.0.0.93
 
le code du servant :
 
 Properties props = new Properties();
            props.put("org.omg.CORBA.ORBInitialPort", args[1]);
            props.put("org.omg.CORBA.ORBInitialHost", args[3]);
 
            orb = ORB.init(args,props);
 
            POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA" ));
            rootpoa.the_POAManager().activate();
 
            VolatilityServer monserveur = new VolatilityServer();
 
            org.omg.CORBA.Object ref = rootpoa.servant_to_reference(monserveur);
            serverVolatility.server href = serverHelper.narrow(ref);
            org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService" );
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
 
            String name = "MyServer";
            NameComponent path[] = ncRef.to_name(name);
            ncRef.rebind(path, href);
 
            orb.run();
 

Reply

Marsh Posté le 10-08-2004 à 10:20:30    

je répete que ça fonctionne parfaitement sous Windows Xp.

Reply

Marsh Posté le 10-08-2004 à 10:29:47    

Si tu remplace

Code :
  1. Properties props = new Properties();
  2. props.put("org.omg.CORBA.ORBInitialPort", args[1]);
  3. props.put("org.omg.CORBA.ORBInitialHost", args[3]);
  4. orb = ORB.init(args,props);


par:

Code :
  1. orb = ORB.init(args, null);
  2. String[] services = orb.list_initial_services();
  3. for(int i=0;i<services.length;i++)
  4.   System.out.println(services[i]);


Ca t'affiche quoi ?


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

Marsh Posté le 10-08-2004 à 10:41:02    

ça mne m'affiche rien d'autre que l'erreur :
 
[root@einstein ServeurVol]# ./Lancementserv.sh
Erreur ds le main :org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
        at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
        at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
        at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(Unknown Source)
        at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
        at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.getInitialServices(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.cachedServices(Unknown Source)
        at com.sun.corba.se.internal.corba.InitialNamingClient.list_initial_services(Unknown Source)
        at com.sun.corba.se.internal.corba.ORB.list_initial_services(Unknown Source)
        at VolatilityServer.main(VolatilityServer.java:99)

Reply

Marsh Posté le 10-08-2004 à 10:46:13    

Code :
  1. System.out.println("Before Init ORB" );
  2.         orb = ORB.init(args, null);
  3.         System.out.println("After Init ORB : "+orb);
  4.         String[] services = orb.list_initial_services();
  5.            System.out.println("Liste des Services : "+services);
  6.             for(int i=0;i<services.length;i++) System.out.println(services[i]);


 
ça me donne
 

Code :
  1. [root@einstein ServeurVol]# ./Lancementserv.sh
  2. Before Init ORB
  3. After Init ORB : com.sun.corba.se.internal.Interceptors.PIORB@1430b5c
  4. Erreur ds le main :org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
  5. org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
  6.         at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
  7.         at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(Unknown Source)
  8.         at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(Unknown Source)
  9.         at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
  10.         at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(Unknown Source)
  11.         at com.sun.corba.se.internal.corba.InitialNamingClient.getInitialServices(Unknown Source)
  12.         at com.sun.corba.se.internal.corba.InitialNamingClient.cachedServices(Unknown Source)
  13.         at com.sun.corba.se.internal.corba.InitialNamingClient.list_initial_services(Unknown Source)
  14.         at com.sun.corba.se.internal.corba.ORB.list_initial_services(Unknown Source)
  15.         at VolatilityServer.main(VolatilityServer.java:104)

Reply

Marsh Posté le 11-08-2004 à 16:54:21    

test

Reply

Marsh Posté le 11-08-2004 à 16:56:53    

Oups, désolé pour le message précédent, je pensais pouvoir éditer...
 
J'ai eu le même problème avec OpenOrb 1.3.1 en passant sous la 1.4.0 beta 2 j'ai résolu mon problème !

Reply

Marsh Posté le 11-08-2004 à 16:59:24    

Un truc tout con
 
tu as essayé ça:
 
/usr/java/j2re1.4.2_04/bin/orbd -ORBInitialPort 1050 -ORBInitialHost 127.0.0.1
 
au lieu de ça: /usr/java/j2re1.4.2_04/bin/orbd -ORBInitialPort 1050 -ORBInitialHost localhost  ??

Reply

Marsh Posté le 21-08-2004 à 15:56:45    

C est pas une question de droit de root ?
Je dis ca mais je debute seulement sous java et linux je suis se qu on appelle un utilisateur en pleine decouverte ( seulement 1 ans d utilisation )

Reply

Marsh Posté le 25-08-2004 à 14:01:01    

Good news : Le serveur se lance il fallait rajouter :  
 
-ORBServerHost 10.0.0.93 dans le lancement de l'appli serveur.
 
 
Cela ne fontionne que si je me connecte avec un client windows, et si je bascule mon appli cliente sur un Linux (RedHat 8.0) cela ne marche pas !
 
Je vais craquer

Reply

Marsh Posté le 25-08-2004 à 14:11:02    

Any ideas ?

Reply

Marsh Posté le 25-08-2004 à 15:03:36    

Le problème sur la machine Linux
 

Code :
  1. port = 33700.se.internal.iiop.ConnectionTable(Thread[Thread-14,5,main]): Client get called: host = 10.0.0.93
  2. while creating socket for new connection: aborting connection4,5,main]): Exception java.net.UnknownHostException: 10.0.0.93
  3. port = 33700.se.internal.iiop.ConnectionTable(Thread[Thread-14,5,main]): DeleteConn called: host = 10.0.0.93


Reply

Marsh Posté le 25-08-2004 à 15:04:25    

Hors 10.0.0.93 est bien l'adresse de l'application Serveur (et mon client windows s'y connecte et utilise ses fonctions parfaitement)

Reply

Marsh Posté le 25-08-2004 à 16:21:36    

Avec vi j'obtiens :  
 

Code :
  1. com.sun.corba.se.internal.iiop.ConnectionTable(Thread[Thread-15,5,main]): Client get called: host = 10.0.0.93^M port = 33717
  2. com.sun.corba.se.internal.iiop.ConnectionTable(Thread[Thread-15,5,main]): Exception java.net.UnknownHostException: 10.0.0.93^M while creating socket for new connection: aborting connection
  3. com.sun.corba.se.internal.iiop.ConnectionTable(Thread[Thread-15,5,main]): DeleteConn called: host = 10.0.0.93^M port = 33717
  4. Erreur dans addBHOptionToComputer :org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No


 
c'est koi ce caractere ^M ??? comment je le vire ? c normal ?

Reply

Marsh Posté le 25-08-2004 à 16:33:27    

Comment tu bascules ton appli de Windows à Linux ? Par FTP ?

Reply

Marsh Posté le 25-08-2004 à 16:42:56    

nan par pscp.exe

Reply

Marsh Posté le 25-08-2004 à 17:22:36    

Keski peut rajouter ce caractere ? je pense que c'est ça qui fait chier.

Reply

Marsh Posté le 25-08-2004 à 18:06:06    

avec vi, tu peux essayer de le virer via
%s/CtrlV-CtrlM//
enfin, tu tapes pas textuellement CtrlV-CtrlM mais tu fais
CtrlV-CtrlM qui affiche en general ^M
Sinon, c'est la commande "tr".

Reply

Marsh Posté le 26-08-2004 à 09:09:42    

Mais c'est pas le pb de le virer ! ça sert a rien de le virer du fichier de log ...
 
Petit historique : Je compile mon idl (idlj -fall gnagna.idl) sur une machine windows, ensuite j'exporte les .class sur ma machine linux.
 
Comme je l'ai déja dit : client linux server windows ça marche.
client linux server linux ça marche pas.
 
ça peut venir du fa

Reply

Marsh Posté le 26-08-2004 à 09:10:59    

Keski peut rajouter ce caractere ? je pense que c'est ça qui fait chier.
 
Récapitulatif : Je compile mon idl sur une machine Windows et je transfer sur la machine linux de prod mes .class.
 
Client linux et server linux ça fonctionne.
Client linux et serveur linux ça marche pas.
 
ça peut venir de ça d'apres vous ?

Reply

Marsh Posté le 26-08-2004 à 10:49:45    

t'as essayé d'utiliser les interfaces générées par le précompilo idl de linux sous linux ?
ou de compiler tout simplement tes sources sous linux plutot qu'exporter les .class ?
 
On a parfois des surprises ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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