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]

Reply via email to