For posterty's sake, here's the full stacktrace: java.lang.NullPointerException at org.apache.fop.fo.pagination.PageSequence.<init>(PageSequence.java:144) at org.apache.fop.fo.pagination.PageSequence$Maker.make(PageSequence.java:43) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:261) at org.apache.xalan.transformer.ResultTreeHandler.flushElem(ResultTreeHandler.java:858) at org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java:952) at org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java:306) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:716) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:422) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:226) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066) at com.banklink.ilink.Renderer.transformXML(Renderer.java:230) at com.banklink.ilink.Renderer.Render(Renderer.java:135) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146) at org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:129) at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:287) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) 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.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 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:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) 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:566) 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)
If anything, this is makes for good Google keyword searching. On Fri, Mar 22, 2002 at 05:59:26PM +0100, Jeremias Maerki wrote: > > I was just looking at the FOP API JavaDocs. Can I use getContentHanlder from the >Driver object, send that > > into the transformer wrapped in a SAXResults object? Will this populate FOP with >the required data to do > > the XSL:FO transform? > > You got it!!!!! That's just what I was about to suggest. > > > On Fri, Mar 22, 2002 at 11:22:12AM -0500, David B. Bitton wrote: > > > 1000/N > > > Status: O > > > X-Status: > > > X-Keywords: > > > X-UID: 600 > > > > > > Ok this is what I'm doing: > > > > > > I produce an XML file from data stored on a mainframe. The XML is generate in a >VB object. The XML is > > > passed up to an ASP page that makes a Low Level API SOAP call, using MSSOAP >Toolkit 2.0, to my PDF server. > > > The PDF server is running Tomcat 4/Apache SOAP 2.2. > > Concerning Apache SOAP 2.2: You might want to have a look at Axis > (http://xml.apache.org/axis) which is a floolow-on for SOAP 2.2. I think > I heard once that it is based on SAX rather than DOM. Haven't tested it, > though. > > > > > > > On the PDF server, I receive the XML as literalxml in the envelope, fetch a >stylesheet, pass the Element > > > object to a Xalan 2.3 transformer (wrapped in a DOMSource object), and then >transform the XML into XSL:FO > > > objects. > > > > > > Now I have a Document object that was returned from the transformer wrapped in a >DOMResults object. The > > > next step is where the problem lies. I want to pass the Document to a Driver, >but I get the dreaded > > > NullPointerException. > > > > > > Most of the time, the XML is will be small ( 5 - 7K), but there is a potention >for an account to have 5 to > > > 10 thousand transactions in a day, and we store up to 63 days of data (a single >transaction in XML is 594 > > > bytes, therefore a 630K transaction XML file would be 374MB, plus some extra >data at the top). So you can > > > see what I have the potential to deal with. > > > > > > What I don't even know is how FOP will handle this. The XSL:FO file is sure to >be much larger than 380MB. > > > I transformer a 6.66KB XML file and it produced a XSL:FO file of 16.2KB. If we >use that as a benchmark, > > > than the same 374MB would become 909.8MB. That's a whole lot of RAM, not to >mention what FOP is going to > > > use to store the rendered PDF. > > I hope you will be lucky. Some have reported that big documents work > well. Others were not so lucky. As long as there are not many references > in your documents you should get quite far. You can browse the archives. > There has been a number of discussions on this topic. > > > > I'm hoping that someone can poke a hole in these numbers (please), because this >is getting to look a whole > > > lot bigger than expected. Obviously performance and resource utilization are >major concernes (like when are > > > they not?). Obviously SAX for this would be faster because it wouldn't require >loading the entire XML > > > contents into memory. > > > > > > So, now is here the questions come in. Do I return from the transform a >SAXResults? Also, how do I > > > effectively handle the incoming XML into the SOAP method? I would prefer to >send the XML in literalxml > > > format so the < and > are HTML encoded (increasing the size of the content even >more). > > > > > > Where do I go from here? > > > > > > > > > On Fri, Mar 22, 2002 at 04:49:40PM +0100, Jeremias Maerki wrote: > > > > <comment>Oops, that one didn't make it to the list at first.</comment> > > > > > > > > DOM (Document) should work. But using DOM to process a 400MB XML? You > > > > wouldn't want to do that. Try to find a way to use SAX. You can fill SAX > > > > events into FOP to create the FO tree. Maybe it helps us to provide you > > > > with some pointers and ideas if you tell us what exactly you're trying > > > > to do. > > > > > > > > > I'm sorry to post this again but I need help. Does passing a Document >datatype to the Driver > > > > > render() method work? I have to potential to move XML files in excess of >400MB and so I need to avoid as > > > > > moving of data in memory as possible. > > Cheers, > Jeremias M?rki > > mailto:[EMAIL PROTECTED] > > OUTLINE AG > Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern > Tel. +41 41 317 2020 - Fax +41 41 317 2029 > Internet http://www.outline.ch > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] -- David B. Bitton [EMAIL PROTECTED] Diversa ab illis virtute valemus. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]