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 :

Problème avec l'annuaire


Sujet :

CORBA

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut Problème avec l'annuaire
    Bonjour !

    J'essaie de faire une petite application C++ qui utilise le Corba mais j'ai un petit problème ... je connais bien le C (et C++) mais moyen le Corba et ca vient surement de là ... (j'irais meme jusqu'a dire que je suis un padawan du Corba).

    Bref, j'ai tappé mon code IDL, compilé : pas de problème
    Idem pour le C++, compilé et toujours pas de problème
    (je bosse sous Visual 6)

    C'est à l'execution où ca coince.
    Je lance l'annuaire à l'aide d'un .bat comme me l'a indiqué le cours et toujours pas de problèmes. Ligne de commande du bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nameserv -OAhost localhost -OAport 12345 
    pause
    Par contre, j'ai une erreur quand je lance le .bat du serveur qui a été écrit comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Serveur\Debug\Serveur -ORBInitRef NameServeur=corbaloc::localhost:12345/NameService 
    pause
    Et il me dit : "Impossible de trouver l'annuaire"
    Voilà mon code C++ (qui pourrait aider) :
    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
    try  
    { 
      // Recherche d'une référence de type générique vers l'annuaire 
      obj = orb->resolve_initial_references("NameService"); 
      // Cette référence est convertie en une référence de type Annuaire 
      CosNaming::NamingContext_var nc = CosNaming::NamingContext::_narrow(obj.in()); 
    
      // Crée une nouvelle entrée pour l'annuaire 
      // La clé de recherche sera "MonServeur" 
      CosNaming::Name MonEntree; 
      MonEntree.length(1); 
      MonEntree[0].id = CORBA::string_dup("MonServeur"); 
      MonEntree[0].kind = CORBA::string_dup(""); 
             
      // Ajoute dans l'annuaire 
      nc->rebind(MonEntree, Lien_ior); 
    } 
    catch(const CORBA::ORB::InvalidName&) 
    { 
      cerr <<"Impossible de trouver l annuaire "<< endl; 
      return; 
    &#125;
    Je me suis démerdé pour savoir d'où l'exception était levée et c'est sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj = orb->resolve_initial_references&#40;"NameService"&#41;;
    J'ai pas installé ORBacus mais j'ai récupéré un répertoire OOC contenant plein de fichiers (librairies, programmes, ...).
    L'installation est elle obligatoire ? (mon répertoire OOC fait 55Mo).

    Pouvez vous m'aider dans la résolution de mon problème (qui dure depuis 3 jours quand meme) ou en me donnant des adresses de bons tutoriaux Corba - C++ sur le net ? (j'ai pas vraiment trouvé)

    Merci beaucoup
    Damien

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut ??
    Personne pour m'aider ?

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 66
    Points : 74
    Points
    74
    Par défaut connection au naming service
    salut,

    tu as lance ton naming service sur le port 12345
    nameserv -OAhost localhost -OAport 12345

    as tu le moyen de dumper l'ior associe a ton naming service ? ca doit etre une option, tu peu regarder le tutoriel d orbacus
    je connais pas orbacus


    ensuite tu lances ton serveur en initilialisant la presence de ton naming service sur ta machine sur le port 12345

    Serveur\Debug\Serveur -ORBInitRef NameServeur=corbaloc::localhost:12345/NameService

    regarde dans le tutoriel si c est la bonne syntax et si il n y pas moyen
    d'initialiser la presence d un naming service autrement que par un corba loc ? ( je sais qu avec la version 3 d omniorb ca marche pas trop)
    y a t il possibilite d initiliser un fichier de config qui sera lu par le bootstrap ?


    si tu as recupere l ior de ton naming service

    dans ton serveur tu peux faire un orb->string_to_object("chaineIOR")
    faire un narrow dessus et recuperer ton naming context comme tu l as fait
    comme ca tu t affranchiras de toute configuration , je sais que c est pas l ideal mais pour commencer ca peut etre un debut si tu veux avancer

    ////////////////////////////////////////////////////////////////
    si ton programme te leve une exception sur cette ligne
    obj = orb->resolve_initial_references("NameService");
    c est qu il n arrive pas a retrouver ton naming service (l'executable que tu
    as lance en premier qui permet de binder et de retrouver des objets pour faire vite au moyen d'un nom)

    a+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut ouch
    arg, j'ai pas compris grand chose ... je suis débutant en Corba ...

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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