View Full Version : Problema con semplice EJB
Sono uno studente di ingegneria informatica.
Sto facendo una tesina sugli Enterprise Java Beans.
Ho fatto il bean e le interfacce home e remota.
Le ho pubblicate sul server (realizzando un'applicazione J2EE) utilizzando deploytool.
Quando eseguo il client questo da un errore.
(Ho copiato il codice da un libro e dovrebbe quindi essere giusto)
(Il bean è il classico HelloWorld!)
La parte iniziale del client è:
Properties props = System.getProperties();
Context ctx = new InitialContext(props);
HelloHome home = (HelloHome) ctx.lookup("HelloHome");
Il client si blocca a questo punto dandomi un ClassCastException
Sapete spiegarmi perché non mi funziona?
Devo settare qulcosa sul server? Come?
Aiutatemi che ne ho bisogno!
GRAZIE
se fai un:
System.out.println(ctx.lookup("HelloHome").getClass().getName())
cosa ti risponde?
Tassadar
04-11-2002, 14:18
Originariamente inviato da dan77
[B]Sono uno studente di ingegneria informatica.
Sto facendo una tesina sugli Enterprise Java Beans.
Ho fatto il bean e le interfacce home e remota.
Le ho pubblicate sul server (realizzando un'applicazione J2EE) utilizzando deploytool.
Quando eseguo il client questo da un errore.
(Ho copiato il codice da un libro e dovrebbe quindi essere giusto)
(Il bean è il classico HelloWorld!)
La parte iniziale del client è:
Properties props = System.getProperties();
Context ctx = new InitialContext(props);
HelloHome home = (HelloHome) ctx.lookup("HelloHome");
Il client si blocca a questo punto dandomi un ClassCastException
Sapete spiegarmi perché non mi funziona?
Devo settare qulcosa sul server? Come?
Aiutatemi che ne ho bisogno!
GRAZIE
Il metodo corretto per "castare" l'istanza di un oggetto ottenuta da JNDI è questo:
(HelloHome) PortableRemoteObject.narrow(ref, HelloHome.class)
dove ref è l'istanza ottenuta dal lookup :)
Originariamente inviato da kingv
[B]se fai un:
System.out.println(ctx.lookup("HelloHome").getClass().getName())
cosa ti risponde?
com.sun.corba.ee.internal.iiop.CdRInputStream_1_0$1
Originariamente inviato da Tassadar
[B]
Il metodo corretto per "castare" l'istanza di un oggetto ottenuta da JNDI è questo:
(HelloHome) PortableRemoteObject.narrow(ref, HelloHome.class)
dove ref è l'istanza ottenuta dal lookup :)
Avevo trovato questa soluzione sul sito della Sun ma mi da lo stesso problema!
Ho provato questo:
Object objref = initial.lookup("MyConverter");
ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref, ConverterHome.class);
Tassadar
04-11-2002, 14:58
Forse è un problema JNDI, probabilmente l'oggetto che ti viene restituito non implementa l'interfaccia HelloHome. :)
Originariamente inviato da Tassadar
[B]Forse è un problema JNDI, probabilmente l'oggetto che ti viene restituito non implementa l'interfaccia HelloHome. :)
In che senso?
Il codice che ti avevo riportato era di un'altra semplice applicazione che ho copiato (il convertitore del sito della Sun).
Quando faccio il deploy (ho utilizzato deploytool) ho specificato come JNDI name HelloHome.
Inoltre una volta ho sbagliato a scrivere il nome JNDI e l'errore che mi riportava era diverso (mi diceva che non era in grado di trovare quell'oggetto)
Tassadar
05-11-2002, 08:43
Sinceramente non mi viene in mente altro, magari prova a rifare il deploy dopo aver ricompilato classi ed interfacce....
Originariamente inviato da Tassadar
[B]Sinceramente non mi viene in mente altro, magari prova a rifare il deploy dopo aver ricompilato classi ed interfacce....
Non mi dire così! :(
Ho compilato e pubblicato più volte!
Mi viene il dubbio di avere qualche parametro del server sballato ma non so dove mettere le mani! :confused:
Tassadar
05-11-2002, 10:33
mi piacerebbe dirti qualcosa di diverso... :(
P.S. Che server utilizzi? JBoss?
Originariamente inviato da Tassadar
[B]mi piacerebbe dirti qualcosa di diverso... :(
P.S. Che server utilizzi? JBoss?
Io ho scaricato j2ee dal sito Sun.
Mi consigli Jboss?
Tassadar
05-11-2002, 11:08
io personalmente non l'ho mai provato, però ne ho sentito parlare un gran bene :)
Originariamente inviato da Tassadar
[B]io personalmente non l'ho mai provato, però ne ho sentito parlare un gran bene :)
Ho cercato su internet.
Stasera provo a scaricarlo e ti farò sapere.
Grazie per l'aiuto!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.