Newsgroup: it.comp.java
Titolo: [newbie] Motivi di eccezione per PortableRemoteObject.narrow

Salve NG,
quali potrebbero essere i motivi che fanno scatenare alla chiamata 
PortableRemoteObject.narrow(...)
delle eccezioni? :(
Questo è il mio init()
------------CODE-----------
public void init(ServletConfig config) throws ServletException {
  try {
   Context context = new InitialContext();
   Object ref = context.lookup("java:/comp/env/ejb/Fibo");
    home = (FiboHome)PortableRemoteObject.narrow(ref,FiboHome.class);
   } catch (Exception e) {
   throw new ServletException("Lookup of java:/comp/env/ failed");
   }
 }
-----------CODE-----------------
e questo è la simpatica pagina che ottengo all'invocazione della servlet 
:(
http://img108.imageshack.us/img108/4240/error8pn.jpg
Ciao a tutti!
Shad

    }
E come si fa a capire che eccezione ti da se tu la 'mangi' e non la 
visualizzi in qualche modo? Devi far vedere l'eccezione "e", altrimenti 
non si capirà mai. Non mi ricordo se si può fare 
ServletException("messaggio",e), oppure stampa lo stack trace 
dell'eccezione e postalo!
bye
DKano

 DKano
Grazie DKano per l'aiuto!
Appena mi trovo faccio la modifica che mi hai suggerito. Per il 
momento ho indagato su quella chiamata al metodo statico narrow(...)
e sembra che molta gente abbia avuto problemi di CastException. Non 
so, se è il mio caso. Ora non ho il codice a disposizione per provare 
e vedere :(
Shad

 e sembra che molta gente abbia avuto problemi di CastException. Non so, 
Se hai problemi di cast, vuol dire che l'oggetto recuperato dal lookup 
non č di tipo FidoHome... potrebbe esser un errore di configurazione 
(aver messo un'altra home in java:/comp/env/ejb/Fibo, per esempio)
bye
DKano

 DKano
Mmm.. potresti indicarmi dove metter le mani? :(
Prima di rischiare di fare altri danni, vorrei una mano esperta! Proprio ora 
che mi manca poco per far girare il tutto :)
Ho messo online tutto il progetto creato con Eclipse:
http://slide.altervista.org/j2ee/Tutorial2.rar
Utilizzo
JBossIDE 3.1.1 con il plug-in myecplise (ma per questo tutorial non č stato 
necessario)
Application Server: JBoss 4.0
Grazie per l'aiuto!
Shad 

 Mmm.. potresti indicarmi dove metter le mani? :(
dovresti vedere nel descrittore dell'ejb dove definisci 
'java:/comp/env/ejb/Fibo' se la classe è corretta; in ogni caso vedendo 
il tipo di classe che ritorna dal loockup dovrebbe esserti tutto più 
chiaro. Eventualmente posta il pezzo di descrittore xml che riguarda 
comp/env/ejb/Fibo
bye
DKano

 DKano
Il descrittore del bean dovrebbe esser questo:
--------------------[CODE]---------------------------
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="
http://java.sun.com/xml/ns/j2ee
" 
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
" 
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee
 
http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd
" version="2.1">
<description><![CDATA[No Description.]]></description>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<!-- Session Beans -->
<session >
<description><![CDATA[Description for Fibo]]></description>
<display-name>Name for Fibo</display-name>
<ejb-name>Fibo</ejb-name>
<home>tutorial2.interfaces.FiboHome</home>
<remote>tutorial2.interfaces.Fibo</remote>
<ejb-class>tutorial2.ejb.FiboBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
<assembly-descriptor >
</assembly-descriptor>
</ejb-jar>
------------------------[/CODE]----------------------
E poi il web.xml :
------------------------[CODE]-------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app  xmlns="
http://java.sun.com/xml/ns/j2ee
" 
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
" 
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee
 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
" version="2.4">
   <distributable/>
   <servlet>
      <description><![CDATA[Servlet that compute Fibonacci 
suite]]></description>
      <display-name>Computation Servlet</display-name>
      <servlet-name>Compute</servlet-name>
      <servlet-class>tutorial2.web.ComputeServlet</servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>Compute</servlet-name>
      <url-pattern>/Compute</url-pattern>
   </servlet-mapping>
   <ejb-ref >
      <description><![CDATA[Reference to the Fibo EJB]]></description>
      <ejb-ref-name>ejb/Fibo</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home>tutorial2.interfaces.FiboHome</home>
      <remote>tutorial2.interfaces.Fibo</remote>
   </ejb-ref>
</web-app>
------------------------[/CODE]-------------------------------------
I descrittori vengono creati tramite XDoclet.
Per comodità (e curiosità) ricordo che l'archivio con tutti i file è sempre 
online a
http://slide.altervista.org/j2ee/Tutorial2.rar
Thaaaaaaaaaaaanks!
Shad

Non c'e' niente da fare... ho problemi con le varie narrow, lookup etc etc
Insomma ho problemi con JNDI.
Sono andato a cercarmi il tutorial su Jndi, ma vado maluccio per ora  :-(

 ottento $Proxy57   dove l'ultima cifra cambia ad ogni prova
Ehm. Ti ho dato il punto sbagliato, sorry
modifica il codice così
Object ref = context.lookup("java:/comp/env/ejb/Fibo");
Object narrow = PortableRemoteObject.narrow(ref,FiboHome.class);
--- stampa narrow.getClass().getName();
home = (FiboHome)narrow;
dal descrittore mi sembra corretto... magari posta anche l'eccezione.
Per il tutorial, nel sito sun c'è quello 'j2ee' che mi pare ha anche una 
sezione JDNI
bye
DKano

 DKano
Si si, ho trovato il tutorial JDNI ....