[Java-Corba] Problème de cast

Problème de cast [Java-Corba] - Java - Programmation

Marsh Posté le 27-12-2006 à 00:23:24    

Bonsoir
 
Alors je sais pas trop comment expliquer mais je vais essayer de résumer.
 
Je crée un IDL que je compile qui possède l'interface User. Je compile ok.
En java j'implémente cette interface UserOperations (est-ce là bonne déjà??? Ou c'est un extend de _UserImplBase qu'il faut faire????) dans la classe UserImpl.
 
Le problème est que quand j'ai besoin de créer un objet User je suis obligé d'utiliser le type UserImpl car sinon ceci ne fonctionne pas:
User x = new User(); Il faut que je fasse: UserImpl x = new UserImpl;
 
Or dans mes méthodes définis dans l'IDL le type de retour est User (pas UserImpl).
 
Et en faisant un cast (User) objetUserImpl ca ne marche pas, ca compile mais à l'éxécution ca fait n'importe quoi.
 
Bref comme vous voyez je suis perdu  :D  
 
Si quelqu'un a un avis ca serais sympa de me conseiller.
Merci

Reply

Marsh Posté le 27-12-2006 à 00:23:24   

Reply

Marsh Posté le 27-12-2006 à 02:46:24    

User X = new UserImpl();  
?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 27-12-2006 à 08:39:46    

Non il n'accepte pas.

Reply

Marsh Posté le 27-12-2006 à 09:45:00    

Euh quel ORB ?
 
T'as lu les samples qui sont en général livrés avec ? genre le hello world ?

Reply

Marsh Posté le 27-12-2006 à 10:05:39    

Orb?
Ben j'utilise celui qui est livré avec le sdk java, orbd. Je sais pas si c'est ca quetu voulais savoir.
 
L'échange d'information j'arrive à le faire avec des type de retour String, int,..
 
Mais dès que le type de retour d'un objet créé par l'IDL est un autre objet du même IDL ben ca marche plus. :(


Message édité par Profil supprimé le 27-12-2006 à 10:06:14
Reply

Marsh Posté le 27-12-2006 à 10:07:02    

ORB, comme dans cORBa
 
matte les samples de jacorb genre, ca sera plus clair pour toi

Reply

Marsh Posté le 27-12-2006 à 17:32:35    

Ok merci. Problème de cast résolut. Mais maintenant ca a entrainé une autre erreur:
 
 
            ORB orb = ORB.init(args, null);
 
            // get reference to rootpoa & activate the POAManager
            POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA" ));
            rootpoa.the_POAManager().activate();
 
            // create servant and register it with the ORB
            TransferImpl tf = new TransferImpl ();
            tf .setORB((com.sun.corba.se.internal.iiop.ORB) orb);  
             
            // get object reference from the servant
            org.omg.CORBA.Object ref = rootpoa.servant_to_reference(tf);
            TransferImpl href = StoreHelper.narrow(ref);
 
Ca me donne ca: The method servant_to_reference(Servant) in the type POAOperations is not applicable for the arguments(TransferImpl)
 
 :(


Message édité par Profil supprimé le 27-12-2006 à 17:32:47
Reply

Marsh Posté le 28-12-2006 à 09:57:53    

à froid, je dirais que tu n'appelles pas la méthode avec le bon argument.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 28-12-2006 à 13:39:39    

Merci pour l'info... :D

Reply

Marsh Posté le 28-12-2006 à 13:46:39    

à ton service, si t'as besoin de rien, chui toujours là !


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

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