Questione : RMI funzionante sul Tomcat Servlet - come installo RMISecurityManager?

Ho un oggetto a distanza di RMI (applicazione da tavolino del Java) che voglio maneggiare sopra il RMI da un servlet del HTTP nel Tomcat del Apache.

per esempio. Sto generando un collegamento di RMI nel metodo del init dei miei servlet ():

/** collegar all'assistente di RMI quando il metodo del init di servlet () ha denominato il
{prova del
{
//intialiseRMISecurity del init di vuoto del pubblico di */
() (); initialiseRMI del
();
se (rc.connectToServer ())Il
RemoteServerConnection = allinea;

del
del fermo del
del
} (eccezione ex) {}}/** inizializzare il
{
System.setProperty (“java.security.policy„, “client.policy„ di intialiseRMISecurity di RMI */
());
se (
System.setSecurityManager (new RMISecurityManager di posizione di segnale minimo) del == di System.getSecurityManager () ()); initialiseRMI vuoto riservato del
del
} () {ospite della stringa del
= “localhost„; prova del
{registrazione di registrazione del

= LocateRegistry.getRegistry (ospite); rc del
= (RemoteInterface) registry.lookup (“RemoteInterfaceImpl");
System.out.println (“oggetto di Server„ + rc + “trovato„); Il
RMIRegistryConnection = allinea; fermo del
} (eccezione ex) {
System.out.println (“Unable per richiamare l'oggetto di RMI da registry.");
ex.printStackTrace (); il

The che del
del
}} l'oggetto a distanza è limitato alla registrazione di RMI, ma quando vado accederle dal codice nel mio servlet del Tomcat, all'io ottiene il seguente error

java.rmi.UnmarshalException: ritorno unmarshalling di errore; l'eccezione annidata è:
      java.lang.ClassNotFoundException: dc.RemoteInterface (nessun responsabile di sicurezza: Il caricatore del codice categoria di RMI ha reso invalido) il
al
di sun.rmi.registry.RegistryImpl_Stub.lookup (fonte di Unknown) a dcservlet.RemoteControl.initialiseRMI (RemoteControl.java: 80)
a dcservlet.RemoteControl.init (RemoteControl.java: 61)
a javax.servlet.GenericServlet.init (GenericServlet.java: 212)
a org.apache.catalina.core. StandardWrapper.loadServlet (StandardWrapper.java:
di 1173) a org.apache.catalina.core. StandardWrapper.allocate (StandardWrapper.java: 809)
a org.apache.catalina.core. StandardWrapperValve.invoke (StandardWrapperValve.java: 129)
a org.apache.catalina.core. StandardContextValve.invoke (StandardContextValve.java: 191)
a org.apache.catalina.core. StandardHostValve.invoke (StandardHostValve.java:
di 127) a org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:
di 102) a org.apache.catalina.core. StandardEngineValve.invoke (StandardEngineValve.java: 109)
a org.apache.catalina.connector. CoyoteAdapter.service (CoyoteAdapter.java: 298)
a org.apache.coyote.http11.Http11AprProcessor.process (Http11AprProcessor.java:
del 859) a org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process (Http11AprProtocol.java: 579)
al .AprEndpoint$Worker.run (AprEndpoint.java di org.apache.tomcat.util.net: 1555)
a java.lang.
Caused di Thread.run (fonte di Unknown) vicino: java.lang.ClassNotFoundException: dc.RemoteInterface (nessun responsabile di sicurezza: Il caricatore del codice categoria di RMI ha reso invalido) il
al
di sun.rmi.server.LoaderHandler.loadProxyClass (fonte di Unknown) al
di java.rmi.server.RMIClassLoader$2.loadProxyClass (fonte sconosciuta) al
di java.rmi.server.RMIClassLoader.loadProxyClass (fonte del Unknown) al
di sun.rmi.server.MarshalInputStream.resolveProxyClass (fonte di Unknown) al
di java.io.ObjectInputStream.readProxyDesc (fonte di Unknown) al
di java.io.ObjectInputStream.readClassDesc (fonte di Unknown) al
di java.io.ObjectInputStream.readOrdinaryObject (fonte di Unknown) al
di java.io.ObjectInputStream.readObject0 (fonte sconosciuta) al
di java.io.ObjectInputStream.readObject (fonte sconosciuta)… 16 more
:

I che fa funzionare il Tomcat 6.0 del Apache su Windows Xp pro. Ho provato ad aggiungere un responsabile di sicurezza nel mio codice ed a giocare con le lime di politica di Catalina ma non posso sembrare convincerlo per funzionare. Sto schierando il mio servlet al Tomcat da Netbeans 6.8 - le lime codice categoria/di fonte sono situate sul mio harddrive.
locale class= del

Risposta : RMI funzionante sul Tomcat Servlet - come installo RMISecurityManager?

Vedere, le eccezioni che mostra che il RemoteInterface non è trovato alla vostra applicazione del tomcat:
               Causato vicino: java.lang.ClassNotFoundException: dc.RemoteInterface

Mettere prego tutte le vostre procure di RMI (RemoteInterface) per il cliente a /WEB-INF/classes del vostro applicazione Web con la struttura adeguata del pacchetto.
esempio: /WEB-INF/classes/dc/RemoteInterface.class
Altre soluzioni  
 
programming4us programming4us