|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2003
Città: Manfredonia
Messaggi: 62
|
[java] Impazzisco per una Remote Exception
salve a tutti. sto impazzendo da tempo con un paio di classi java che vorrebbero comunicare in rmi tra di loro ma che uono stupidissimo errore impedisce:
RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: SrvImpl_Stub Causa:java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: SrvImpl_Stub sul portatile funziona tutto, sia da linea di comando che da Jbuilder, ma sul pc di casa, appena formattato e riempito solo di XP Professional, mi da questo errore. Ecco le dichiarazioni dell'interfaccia e della implementazione del server: ---interfaccia package primormi; import java.rmi.Remote; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */ public interface SrvInt extends Remote { public String concatena (String a, String b) throws java.rmi.RemoteException; } ----implementazione dell'interfaccia package primormi; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */ public class SrvImpl { public SrvImpl() throws java.rmi.RemoteException{ } public String concatena (String a, String b) throws java.rmi.RemoteException { return a+b; } public static void main(String[] args) { } } ---classe che istanzia un oggetto di tipo SrvImpl package primormi; import primormi.*; import java.rmi.*; import java.net.*; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */ public class Server { public Server() { } public static void main(String[] args) { try { primormi.SrvImpl a = new primormi.SrvImpl(); } catch (RemoteException ex) { } try { Naming.bind("SrvConcatena", a); } catch (AlreadyBoundException e) { } catch (java.net.MalformedURLException e) { } } } naturalmente ho omesso il gestore della security e mando prima in esecuzione RmiRegistry... vi prego AIUTATEMI!!!!!! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2003
Città: Manfredonia
Messaggi: 62
|
naturalmente ho installato una jsdk e una jre (anche se non sono necessari...)
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
porca miseria sei il secondo che chiede e non mi ricordo mai qual è la soluzione!!
è una banalità credimi... mi è capitata un paio di volte quando usavo RMI e ogni volta ci perdevo qualche minuto poi dicevo "ah, è per sta ca**ata" intanto facciamo un elenco di cose da controllare: - classpath corretto (ma non penso sia il tuo problema) - stub e interfaccia copiati nella cartella del client - ricompila e rifai rmic dove serve del resto l'errore è dato dalla mancanza dello stub, quindi o non è stato creato o non lo vede |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2003
Città: Manfredonia
Messaggi: 62
|
OK!!!! doamttina provo, adesso sono troppo stanco
Ciao e grazie!!!!!!!! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
il protocollo RMI prevede uno skeleton e uno stab che comunicano fra loro... se il client non ha lo stub mi spieghi come fanno a comunicare??
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2003
Città: Manfredonia
Messaggi: 62
|
Ho risolto!!!!
era soo che jbuilder andava a mettere lo stub che creava in una directory e poi quando mandava in esecuzione il javaw lo cercava in un package in cui era assente. Fatto!!!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:37.



















