Stergos D. Afantenos wrote:
> Dear all,
> 
> I am trying to develop a web service using the Simple Rest Server. I
> am using the default installation of Tomcat5.5 under Ubuntu 9.04.
> Actually, my web service runs quite smoothly when I try to "manually"
> start Tomcat using the following  script of my own device :)
> 
> sudo  java -Dcatalina.base=/usr/share/tomcat5.5
> -Dcatalina.home=/usr/share/tomcat5.5
> -Dwtp.deploy=/var/lib/tomcat5.5/webapps
> -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -classpath
> /usr/share/tomcat5.5/bin/bootstrap.jar:/usr/lib/jvm/java-6-sun-1.6.0.13/lib/tools.jar
> org.apache.catalina.startup.Bootstrap start
> 
> On the other hand, when I try to start Tomcat normally
> (/etc/init.d/tomcat5.5 restart) I get the following errors once I try
> to access my web service :
> 
> HTTP Status 500 -
> 
> type Exception report
> 
> message
> 
> description The server encountered an internal error () that prevented
> it from fulfilling this request.
> 
> exception
> 
> javax.servlet.ServletException
>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:294)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
>       
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>       
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>       
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>       
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>       
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>       
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>       
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>       
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>       java.lang.Thread.run(Thread.java:636)
> 
> root cause
> 
> java.lang.ExceptionInInitializerError
>       org.apache.uima.simpleserver.Service.<clinit>(Service.java:71)
>       
> org.apache.uima.simpleserver.servlet.SimpleServerServlet.init(SimpleServerServlet.java:229)
>       javax.servlet.GenericServlet.init(GenericServlet.java:211)
>       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       java.lang.reflect.Method.invoke(Method.java:616)
>       org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
>       java.security.AccessController.doPrivileged(Native Method)
>       javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
>       
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>       
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>       
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>       
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>       
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>       
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>       
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>       
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>       java.lang.Thread.run(Thread.java:636)
> 
> root cause
> 
> org.apache.uima.UIMA_IllegalStateException: The UIMA framework
> implementation (class org.apache.uima.impl.UIMAFramework_impl) could
> not be created.
>       org.apache.uima.UIMAFramework.<clinit>(UIMAFramework.java:1183)
>       org.apache.uima.simpleserver.Service.<clinit>(Service.java:71)
>       
> org.apache.uima.simpleserver.servlet.SimpleServerServlet.init(SimpleServerServlet.java:229)
>       javax.servlet.GenericServlet.init(GenericServlet.java:211)
>       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       java.lang.reflect.Method.invoke(Method.java:616)
>       org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
>       java.security.AccessController.doPrivileged(Native Method)
>       javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
>       
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>       
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>       
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>       
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>       
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>       
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>       
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>       
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>       java.lang.Thread.run(Thread.java:636)
> 
> root cause
> 
> java.security.AccessControlException: access denied
> (java.util.PropertyPermission * read,write)
>       
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
>       
> java.security.AccessController.checkPermission(AccessController.java:553)
>       java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
>       
> java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1269)
>       java.beans.Introspector.setBeanInfoSearchPath(Introspector.java:316)
>       
> org.apache.uima.impl.UIMAFramework_impl._initialize(UIMAFramework_impl.java:167)
>       org.apache.uima.UIMAFramework.<clinit>(UIMAFramework.java:1180)
>       org.apache.uima.simpleserver.Service.<clinit>(Service.java:71)
>       
> org.apache.uima.simpleserver.servlet.SimpleServerServlet.init(SimpleServerServlet.java:229)
>       javax.servlet.GenericServlet.init(GenericServlet.java:211)
>       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       java.lang.reflect.Method.invoke(Method.java:616)
>       org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
>       java.security.AccessController.doPrivileged(Native Method)
>       javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
>       org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
>       
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
>       
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>       
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>       
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>       
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
>       
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>       
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>       
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>       
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>       java.lang.Thread.run(Thread.java:636)
> 
> 
> 
> My guess is that I should explicitly grand some permissions to the
> Simple Rest Server via the various
> /usr/share/tomcat5.5/conf/policy.d/*.policy files, but no matter what
> I change, the SimpleRestServer stubbornly refuses to start up.

The code is trying to ascertain that it can set system
properties.  This line is the culprit:

    // attempt to improve initialization performance
    Introspector.setBeanInfoSearchPath(new String[0]);

See if you can allow setting system properties in
your Tomcat's policy file.  Note: I'm not a Tomcat
expert, and I've never seen this issue before with
UIMA and Tomcat 5.5.

--Thilo

> 
> In case that you have any idea of what might be going on, I would be
> very happy to hear from you.
> 
> Best,
> Stergos D. Afantenos

Reply via email to