You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Ben Ho <be...@j-sols.com> on 2002/04/16 20:51:34 UTC
FOP Servlet example problem
HI,
I am trying the examples of FOP (0.20.3), most FO file run successfully
except 'images.fo'.
When I run FOP as a standalone application, all examples work fine, however,
I encounter a problem when I try the servlet version.
I deployed the fop.war in Tomcat 4.0.3. When I try the 'images.fo', the
returned PDF do not have any images. The following messages displayed in
the log of Tomcat.
ERROR 10189 [fop ] (): Error while creating area : Error with image
URL: ../../graphics/xml_feather.gif and no base directory is specified
ERROR 10189 [fop ] (): Error while creating area : Error with image
URL: ../../graphics/xml_feather_transparent.gif and no base directory is
specified
ERROR 10189 [fop ] (): Error while creating area : Error with image
URL: ../../graphics/fop.jpg and no base directory is specified
ERROR 10189 [fop ] (): Error while creating area : Error with image
URL: ../../graphics/linux.bmp and no base directory is specified
Then I modify the image file path from relative path to absolute path and
retry. But this time have another exception, the root cause is listed
below.
java.lang.NoClassDefFoundError: org/w3c/dom/svg/SVGDocument
at
org.apache.fop.image.analyser.ImageReaderFactory.Make(ImageReaderFactory.jav
a:46)
at org.apache.fop.image.FopImageFactory.Make(FopImageFactory.java:109)
at org.apache.fop.fo.flow.ExternalGraphic.layout(ExternalGraphic.java:125)
at org.apache.fop.fo.flow.Block.layout(Block.java:262)
at org.apache.fop.fo.flow.Block.layout(Block.java:262)
at org.apache.fop.fo.flow.Flow.layout(Flow.java:156)
at org.apache.fop.fo.flow.Flow.layout(Flow.java:113)
at org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:296)
at org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:200)
at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:182)
at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1398)
at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator
.java:1019)
at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1256)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
at org.apache.fop.apps.Driver.render(Driver.java:481)
at org.apache.fop.apps.Driver.run(Driver.java:554)
at FopServlet.renderFO(FopServlet.java:96)
at FopServlet.doGet(FopServlet.java:64)
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(Application
FilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1012)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107
)
at java.lang.Thread.run(Thread.java:536)
I already put all the jar files included in fop-0.20.3 to /fop/WEB-INF/lib
in Tomcat. Do anyone have any idea of the above problems, thanks a lot.
Ben Ho
Re: FOP Servlet example problem
Posted by Ben Ho <be...@j-sols.com>.
I put the batik.jar into the tomcat lib directory and solved the problem, thank you very much.
Regards,
Ben
----- Original Message -----
From: "J.Pietschmann" <j3...@yahoo.de>
To: <fo...@xml.apache.org>
Sent: Wednesday, April 17, 2002 8:31 AM
Subject: Re: FOP Servlet example problem
> Ben Ho wrote:
> > I deployed the fop.war in Tomcat 4.0.3.
>
> This version has known bugs in the classloader.
> Your options:
> - Put the batik.jar distributed with FOP into
> the tomcat lib directory. This could conflict
> with other Batik versions used elsewhere.
> This is mentioned somewhere in the Tomcat
> documentation, look there for details.
> - Downgrade to Tomcat 4.0.1
> - Try the 4.0.4 (still beta)
>
> J.Pietschmann
Re: FOP Servlet example problem
Posted by "J.Pietschmann" <j3...@yahoo.de>.
Ben Ho wrote:
> I deployed the fop.war in Tomcat 4.0.3.
This version has known bugs in the classloader.
Your options:
- Put the batik.jar distributed with FOP into
the tomcat lib directory. This could conflict
with other Batik versions used elsewhere.
This is mentioned somewhere in the Tomcat
documentation, look there for details.
- Downgrade to Tomcat 4.0.1
- Try the 4.0.4 (still beta)
J.Pietschmann