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]

Reply via email to