Problème de cast [Java-Corba] - Java - Programmation
Marsh Posté le 27-12-2006 à 02:46:24
User X = new UserImpl();
?
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 ?
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.
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
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)
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
Si quelqu'un a un avis ca serais sympa de me conseiller.
Merci