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 :

Les Helper comment ça marche?


Sujet :

CORBA

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Les Helper comment ça marche?
    Bonjour à tous,

    j'ai un problème que je ne comprends pas avec un Helper:

    J'ai une classe appelée ParameterHome qui s'exécute sur le serveur, le client appelle sur cette classe la méthode getParameterByLbShort(String name) et il se trouve que le paramètre qui s'appelle "name" n'existe pas, une exception est donc levée côté serveur, appelée UnknownParameterException, et elle est transmise au client.

    Et c'est là que ça se passe mal, l'ORB côté client essaie de trouver le Helper correspondant à cette classe et j'ai l'exception suivante:

    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
    Trying to build Helper for >>IDL&#58;com/calyon/oreca2/idl/UnknownParameterException&#58;1.0<< &#40;org.omg.CORBA.portable.ApplicationException&#41; &#93;
    &#91; ## <> &#93;
    &#91; ## Class.forName&#40;com.calyon.oreca2.idl.UnknownParameterException&#41; &#93;
    &#91; ## _helper is null &#93;
    
    ############################ StackTrace ############################
    java.lang.ClassNotFoundException&#58; com.calyon.oreca2.idlPackage.UnknownParameterExceptionHelper
    at com.ibm.ws.classloader.CompoundClassLoader.findClass&#40;CompoundClassLoader.java&#58;351&#41;
    at com.ibm.ws.classloader.CompoundClassLoader.loadClassat java.lang.ClassLoader.loadClass&#40;ClassLoader.java&#58;255&#41;
    at java.lang.ClassLoader.loadClassInternal&#40;ClassLoader.java&#58;315&#41;
    at java.lang.Class.forName0&#40;Native Method&#41;
    at java.lang.Class.forName&#40;Class.java&#58;140&#41;
    at org.jacorb.orb.ApplicationExceptionHelper.insert&#40;Unknown Source&#41;
    at org.jacorb.orb.Delegate.invoke&#40;Unknown Source&#41;
    at org.omg.CORBA.portable.ObjectImpl._invoke&#40;ObjectImpl.java&#58;486&#41;
    at com.calyon.oreca2.idl._ParameterHomeStub.getUserParameterByLbShort&#40;_ParameterHomeStub.java&#58;931&#41;
    at com.calyon.oreca2.api.ParameterHomeAPI.getUserParameterByLbShort&#40;ParameterHomeAPI.java&#58;741&#41;
    Le problème c'est que com.calyon.oreca2.idlPackage.UnknownParameterExceptionHelper n'existe effectivement pas puisque le package dans lequel il cherche ici n'est pas bon, le package qui contient cette classe s'appelle com.calyon.oreca2.idl et non idlPackage.

    Comment et pourquoi ce nom de package incorrect est-il généré puisque ce Helper est généré par l'idl2java ????

    Pour info j'utilise jacorb 1.4.1mais je ne suis pas sûr que ce soit un problème dépendant de l'ORB utilisé.

    Merci pour toute information pouvant éclairer ma lanterne ou pour toute piste de recherche... parce que là je sèche!

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut après étude appronfondie...
    J'ai mis le nez dans un morceau de code source de jacorb, apparemment quand il essaie de construire le helper d'une classe il commence par ajouter "Helper" au nom de la classe et si le Class.forName() échoue sur le nom de classe ainsi construit, il essaie d'ajouter "Package" derrière le nom de package de la classe, sans doute cela correspond-il à un nom de package par défaut : ...
    Et au final, s'il ne trouve rien il lance une exception ClassNotFoundException sur le dernier nom de classe essayé, d'où le idlPackage indiqué dans l'exception alors que ce package n'existe pas.

    Il ne me reste plus qu'à trouver pourquoi il ne trouve pas le vrai package dès le départ, ce qui n'est encore gagné...

Discussions similaires

  1. Les char[] comment ça marche ?
    Par popollux dans le forum Langage
    Réponses: 8
    Dernier message: 17/12/2010, 10h38
  2. Surround with : comment ça marche pour les appliquer?
    Par ®om dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 12/07/2007, 13h10
  3. Les ActionForm et comment ça marche
    Par R1pToR dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/06/2007, 17h59
  4. Les include me gonflent ! comment ça marche ? help !
    Par grinder59 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2007, 11h21
  5. Réponses: 7
    Dernier message: 22/11/2005, 14h05

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