PDA

View Full Version : Tomcat & RMI


nodep
31-10-2002, 13:09
Salve a tutti,
ho scritto un servizio SOAP gestito da Tomcat
che quando chiamato, a sua volta sfrutta RMI
che effettauare una chiamata remota... o almeno
cosi dovrebbe visto che quando chiamo il servizio
le istruzioni che invocano RMI mi causano la
stampa di errori a non finire(del tipo, la finestra
di Tomcat mi viene riempita tutta ed oltre, nel
senso che anche scorrendo "all'insu" non si
vede l'inizio dell'errore...). C'e' qualke settaggio
o precauzione da fare nell'uso di RMI in Tomcat?
Grazie.

kingv
31-10-2002, 15:07
guarda nei log e dicci qual e' l'eccezione.

Non c'e' nulla di particolare da settare.

nodep
01-11-2002, 09:45
Allora, ho guardato nella directory logs di Tomcat4 e
ci sono vari files di log: ho preso quelli che mi
sembravano + logici, localhost_log e catalina_log.
In essi ho trovato i seguenti errori:
<<dal file catalina_log>>
2002-11-01 10:14:33 EngineConfig: EngineConfig: Processing START
2002-11-01 10:14:44 StandardEngine[Standalone]: Mapping server name 'localhost'
2002-11-01 10:14:44 StandardEngine[Standalone]: Trying a direct match
2002-11-01 10:14:45 CoyoteAdapter An exception or error occurred in the container during the request processing
java.lang.NoClassDefFoundError
at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:429)
....

<<dal file localhost_log>>
2002-11-01 10:14:31 WebappLoader[/manager]: Deploying class repositories to work directory C:\Programmi\Tomcat4.1\work\Standalone\localhost\manager
2002-11-01 10:14:31 ContextConfig[/manager]: Configured an authenticator for method BASIC
2002-11-01 10:14:31 StandardManager[/manager]: Seeding random number generator class java.security.SecureRandom
2002-11-01 10:14:31 StandardManager[/manager]: Seeding of random number generator has been completed
2002-11-01 10:14:31 StandardWrapper[/manager:default]: Loading container servlet default
2002-11-01 10:14:31 StandardWrapper[/manager:invoker]: Loading container servlet invoker
2002-11-01 10:14:31 WebappLoader[/soap]: Deploying class repositories to work directory C:\Programmi\Tomcat4.1\work\Standalone\localhost\soap
2002-11-01 10:14:31 WebappLoader[/soap]: Deploy class files /WEB-INF/classes to C:\Programmi\Tomcat4.1\webapps\soap\WEB-INF\classes
2002-11-01 10:14:31 StandardManager[/soap]: Seeding random number generator class java.security.SecureRandom
2002-11-01 10:14:31 StandardManager[/soap]: Seeding of random number generator has been completed
2002-11-01 10:14:31 StandardWrapper[/soap:default]: Loading container servlet default
2002-11-01 10:14:31 StandardWrapper[/soap:invoker]: Loading container servlet invoker
2002-11-01 10:14:31 WebappLoader[/tomcat-docs]: Deploying class repositories to work directory C:\Programmi\Tomcat4.1\work\Standalone\localhost\tomcat-docs
2002-11-01 10:14:31 StandardManager[/tomcat-docs]: Seeding random number generator class java.security.SecureRandom
2002-11-01 10:14:31 StandardManager[/tomcat-docs]: Seeding of random number generator has been completed
2002-11-01 10:14:31 StandardWrapper[/tomcat-docs:default]: Loading container servlet default
2002-11-01 10:14:31 StandardWrapper[/tomcat-docs:invoker]: Loading container servlet invoker
2002-11-01 10:14:31 WebappLoader[/webdav]: Deploying class repositories to work directory C:\Programmi\Tomcat4.1\work\Standalone\localhost\webdav
2002-11-01 10:14:32 StandardManager[/webdav]: Seeding random number generator class java.security.SecureRandom
2002-11-01 10:14:32 StandardManager[/webdav]: Seeding of random number generator has been completed
2002-11-01 10:14:32 StandardWrapper[/webdav:default]: Loading container servlet default
2002-11-01 10:14:32 StandardWrapper[/webdav:invoker]: Loading container servlet invoker
2002-11-01 10:14:33 WebappLoader[]: Deploying class repositories to work directory C:\Programmi\Tomcat4.1\work\Standalone\localhost\_
2002-11-01 10:14:33 StandardManager[]: Seeding random number generator class java.security.SecureRandom
2002-11-01 10:14:33 StandardManager[]: Seeding of random number generator has been completed
2002-11-01 10:14:33 StandardWrapper[:default]: Loading container servlet default
2002-11-01 10:14:33 StandardWrapper[:invoker]: Loading container servlet invoker
2002-11-01 10:14:45 StandardWrapperValve[rpcrouter]: Servlet.service() for servlet rpcrouter threw exception
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
....
----- Root Cause -----
java.lang.NoClassDefFoundError: org/apache/soap/Utils
at org.apache.soap.SOAPException.<init>(SOAPException.java:71)
at org.apache.soap.SOAPException.<init>(SOAPException.java:77)
at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:365)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /manager
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /manager
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /manager
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:919)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /soap
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /soap
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /soap
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:919)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /examples
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /examples
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /examples
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:919)
....
2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /tomcat-docs
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /tomcat-docs
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /tomcat-docs
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:919)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /webdav
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /webdav
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /webdav
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path /admin
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path /admin
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
at org.apache.catalina.core.StandardContext.bindThread(StandardContext.java:3781)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path /admin
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
....

2002-11-01 10:14:51 StandardHost[localhost]: Removing web application at context path
2002-11-01 10:14:51 StandardHost[localhost]: Error removing application at context path
java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.Thread.setContextClassLoader(Thread.java:1219)
....

2002-11-01 10:14:51 HostConfig[localhost] Error undeploying web application at context path
java.io.IOException: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:424)
at org.apache.catalina.core.StandardHost.remove(StandardHost.java:852)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:919)
....

(ho incluso anche le righe presenti immediatamente prima dell'errore; i "quattro puntini"
significano che c'erano altre righe simili a quelle subito sopra))
Come altra informazione, nella dir dove c'e' il servizio
(e cioe': C:\Programmi\Tomcat4.1\webapps\soap\WEB-INF\classes\esempi\helloworld)
ho messo anche il file di policy cosi fatto:

grant
{
permission java.net.SocketPermission
"*:1024-65535", "connect";
permission java.net.SocketPermission
"*:80", "connect";
permission java.io.FilePermission
"F:\\J\\RMI\\v2ch5\\Product\\-","read";
permission java.security.AllPermission;

}

oltre al file stub.
Sai dirmi qualcosa?
Grazie.