Hello out there, I try to create a Tomcat-servlet, which enables me to call a process on my host. This is my attempt:
[code] import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Testservlet1 extends HttpServlet { public void doGet ( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException { int rueckgabe = 0; rueckgabe = Fireone(); res.setContentType ( "text/html" ); PrintWriter out = res.getWriter(); out.println ( "<HTML>" ); out.println ( "<HEAD><TITLE>Testservlet1</TITLE></HEAD>" ); out.println ( "<BODY>" ); out.println ( "<BIG> Firestarter </BIG>" ); out.println ( "</BODY></HTML>" ); } public int Fireone ( ) { int rueck_gabe = 0; try { String cmd1 = "/home/chris/eigener-proc"; Runtime rt = Runtime.getRuntime(); Process myproc = rt.exec( cmd1 ); rueck_gabe = myproc.waitFor(); System.out.println("die Rueckgabe war: " + rueck_gabe ); } catch( IOException ioexc ) { ioexc.printStackTrace(); } catch( InterruptedException intexc ) { intexc.printStackTrace(); } return ( rueck_gabe ); } } [/code] and this is the result: [quote] type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception java.security.AccessControlException: access denied (java.io.FilePermission /home/chris/eigener-proc execute) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269) at java.security.AccessController.checkPermission(AccessController.java:401) at java.lang.SecurityManager.checkPermission(SecurityManager.java:524) at java.lang.SecurityManager.checkExec(SecurityManager.java:771) at java.lang.Runtime.exec(Runtime.java:563) at java.lang.Runtime.exec(Runtime.java:428) at java.lang.Runtime.exec(Runtime.java:364) at java.lang.Runtime.exec(Runtime.java:326) at Testservlet1.Fireone(Testservlet1.java:32) at Testservlet1.doGet(Testservlet1.java:12) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200) at org.apache.catalina.core.ApplicationFilterChain.access$000 (ApplicationFilterChain.java:51) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:129) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:125) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) Apache Tomcat/4.1 [/quote] I know I have to edit the catalina.policy but in which part is not clear to me. Can anybody help me out? I have unfortunately not the time to work this out. Otherwise we choose Apache/Perl for this purpose. -- Christian Stalp Institut für Medizinische Biometrie, Epidemiologie und Informatik Johannes-Gutenberg-Universität Mainz Tel.: 06131 / 17-3107 E-Mail: [EMAIL PROTECTED] ---------------------------------------------------------------------- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]