IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CORBA Discussion :

Prob: connection java au service de nomage TAO


Sujet :

CORBA

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Prob: connection java au service de nomage TAO
    Bonjours à tous,
    Sur la machine A j'ai un server Corba C++ et un server de nomage TAO qui tournent. Sur la machine B, j'ai un client java qui essaie de connecter au server TAO pour récupérer l'objet du server Corba qui s'appelle "demoMAN" (enfin brief). Mon problème se trouve surtout à la connection de client Java au server TAO.

    Voici le code du client Java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import java.util.Properties;
    import org.omg.CORBA.ORB;
    import org.omg.CosNaming.NameComponent;
    import org.omg.CosNaming.NamingContext;
    import org.omg.CosNaming.NamingContextHelper;
    
    /**
     *
     * @author Hp_Portable
     */
    public class TestClass {
        
        /** Creates a new instance of TestClass */
        public TestClass() {
        }
        
        public static void main ( String args[]){
            try{
          
                Properties props = new Properties();
                props.put("org.omg.CORBA.ORBInitialPort", "2809");
                props.put("org.omg.CORBA.ORBInitialHost", "192.168.2.4");
                ORB orb = ORB.init((String[])null, props);
                org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");//line 35
                NamingContext ncRef = NamingContextHelper.narrow(objRef);
    
                // Resolve the object reference in naming
                // make sure there are no spaces between ""
                NameComponent nc = new NameComponent("demoMAN", "");
                NameComponent path[] = {nc};
                //Hello helloRef = HelloHelper.narrow(ncRef.resolve(path));
    
                // Call the Hello server object and print results
                //String Hello = helloRef.sayHello();
                //System.out.println(Hello);      
    
            } catch(Exception e) {
                System.out.println("ERROR : " + e);
                e.printStackTrace(System.out);
            }
        }
    }
    Et voici l'exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ERROR : org.omg.CORBA.OBJECT_NOT_EXIST:   vmcid: 0x0  minor code: 0  completed: No
    org.omg.CORBA.OBJECT_NOT_EXIST:   vmcid: 0x0  minor code: 0  completed: No
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at java.lang.Class.newInstance0(Class.java:355)
            at java.lang.Class.newInstance(Class.java:308)
            at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
            at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_0.getSystemException(ReplyMessage_1_0.java:94)
            at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
            at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
            at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
            at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
            at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(BootstrapResolverImpl.java:89)
            at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.resolve(BootstrapResolverImpl.java:107)
            at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
            at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
            at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:22)
            at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(ORBImpl.java:1157)
            at newphenix.NPSManager.test.TestClass.main(TestClass.java:35)
    BUILD SUCCESSFUL (total time: 5 seconds)
    Donc voila, je vous remercie d'avoir lu et si qq1 pourra m'aider..

  2. #2
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 219
    Points : 302
    Points
    302
    Par défaut
    Comment la référence du NameService est passée au client ?
    Le client ne peux pas la découvrir tout seul. En général, on lui passe vie l'option en ligne de commande:
    -ORBInitRef NameService=<fichier ior ou corbaloc>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                Properties props = new Properties();
                props.put("org.omg.CORBA.ORBInitialPort", "2809");
                props.put("org.omg.CORBA.ORBInitialHost", "192.168.2.4");
                ORB orb = ORB.init((String[])null, props);
                org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");//line 35
    ça ne suffit pas pour le client de récupérer le root context?
    Et sinon comment avoir corbaloc alors?
    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 219
    Points : 302
    Points
    302
    Par défaut
    L'utilisation des propriétés org.omg.CORBA.ORBInitialPort et org.omg.CORBA.ORBInitialHost est spécifique à l'ORB implémenté par la JVM de Sun.
    Cela ne marche que si le NameService tournant sur cette adresse et ce port est le NameService de la JVM. (le NameService TAO n'implémente pas ce système spécifique à la JVM).

    La manière standard de se connecter à n'importe quel NameService (standard) depuis un client n'utilise pas les Properties, mais les arguments String[] (en général, ceux passés à l'opération main).

    Dans ton cas, ce code devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String[] myOrbArgs = 
       { "-ORBInitRef", "NameService=corbaloc::192.168.2.4:2809/NameService" };
    ORB orb = ORB.init(myOrbArgs, null);

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/07/2013, 07h21
  2. Connection Java -> Free.fr
    Par blins dans le forum Outils
    Réponses: 8
    Dernier message: 17/07/2008, 11h50
  3. [Débutant][Java] Web Service
    Par ArseNic dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/11/2005, 11h09
  4. prob connection bdd access chez hebergeur
    Par zorba49 dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2005, 19h23
  5. pb connection java easyPhp
    Par clairette dans le forum JDBC
    Réponses: 5
    Dernier message: 17/06/2005, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo