Hi there,
I have a problem by running fop in a servlet with Tomcat 4.1.31. Every time when I first run the servlet to generate a pdf file after rebooting tomcat or leaving it for a couple of days, it gives me Null pointer exception (see below). Then I run it again, it works fine. Looks like there is something missing to initialize fop in my servlet. I have asked the question in fop's mailing list. Here is one of the answer somebody gave to me: The problem is that the Service class tries to load service files from the classpath. In order to do so, it tries to get a class loader, at it gets null, which is quite common in web applications due to the complicated way class loading happens due to all kind of security considerations. As for why it works the second try is beyond me. You should ask the Tomcat people. There should be something tin the FOP list archives as well. Could anybody help me on this issue? Thanks, 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 at com.manihot.xpc.component.PrintPDF.renderFO(PrintPDF.java:126) at com.manihot.xpc.component.PrintPDF.doGet(PrintPDF.java:76) at com.manihot.xpc.component.PrintPDF.doPost(PrintPDF.java:90) at javax.servlet.http.HttpServlet.service(HttpServlet.java:716) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:627) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:382) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:306) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:391) at org.apache.jsp.printSettleNote_jsp._jspService(printSettleNote_jsp.java:44) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:1 62) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:627) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:382) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:306) at org.apache.struts.tiles.ActionComponentServlet.doForward(ActionComponentServ let.java:453) at org.apache.struts.tiles.ActionComponentServlet.processActionForward(ActionCo mponentServlet.java:180) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:716) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:200) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:146) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:209) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.ja va:144) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.invok eNext(StandardPipeline.java:596) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:118) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:594) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.invok eNext(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.processConne ction(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) at java.lang.Thread.run(Thread.java:536) root cause java.lang.NullPointerException at org.apache.fop.apps.Service.providers(Driver.java:597) at org.apache.fop.apps.Driver.setupDefaultMappings(Driver.java:319) at org.apache.fop.apps.Driver.<init>(Driver.java:222) at org.apache.fop.apps.Driver.<init>(Driver.java:226) at com.manihot.xpc.component.PrintPDF.renderFO(PrintPDF.java:107) at com.manihot.xpc.component.PrintPDF.doGet(PrintPDF.java:76) at com.manihot.xpc.component.PrintPDF.doPost(PrintPDF.java:90) at javax.servlet.http.HttpServlet.service(HttpServlet.java:716) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:627) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:382) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:306) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:391) at org.apache.jsp.printSettleNote_jsp._jspService(printSettleNote_jsp.java:44) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:1 62) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:627) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:382) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:306) at org.apache.struts.tiles.ActionComponentServlet.doForward(ActionComponentServ let.java:453) at org.apache.struts.tiles.ActionComponentServlet.processActionForward(ActionCo mponentServlet.java:180) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:716) at javax.servlet.http.HttpServlet.service(HttpServlet.java:809) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:200) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:146) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:209) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.ja va:144) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.invok eNext(StandardPipeline.java:596) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:118) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:594) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(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.invok eNext(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.processConne ction(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) at java.lang.Thread.run(Thread.java:536) ---------------------------------------------------------------------------- ---- Apache Tomcat/4.1.31 Liang MA Software Analyst -------------------------------------------------- RADARSAT Mission Control Centre 6767, route de l'Aeroport Saint-Hubert, Quebec J3Y 8Y9 Canada Tel: (450) 926-5099 Fax: (450) 926-5127 --------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]