I would like to be able to generate excel sheets from Cocoon 2.1.9, but I have a problem using the HSSFSerializer.
This is my sitemap: <?xml version="1.0" encoding="UTF-8"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <map:components> <map:generators default="file"> <map:generator label="content" logger="sitemap.generator.file" name="file" pool-max="${file-generator.pool-max}" src="org.apache.cocoon.generation.FileGenerator"/> <map:generator label="content" logger="sitemap.generator.jx" name="jx" pool-max="${jx-generator.pool-max}" src="org.apache.cocoon.generation.JXTemplateGenerator"/> </map:generators> <map:transformers default="xslt"> <map:transformer logger="sitemap.transformer.xslt" name="xslt" pool-max="${xslt-transformer.pool-max}" src="org.apache.cocoon.transformation.TraxTransformer"> <use-request-parameters>false</use-request-parameters> <use-session-parameters>false</use-session-parameters> <use-cookie-parameters>false</use-cookie-parameters> <xslt-processor-role>xalan</xslt-processor-role> <check-includes>true</check-includes> </map:transformer> </map:transformers> <map:serializers default="html"> <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.XMLSerializer"/> <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" pool-max="${html-serializer.pool-max}" src="org.apache.cocoon.serialization.HTMLSerializer"> <doctype-public>-//W3C//DTD HTML 4.01 Transitional//EN</doctype-public> <doctype-system>http://www.w3.org/TR/html4/loose.dtd</doctype-system> </map:serializer> <map:serializer logger="sitemap.serializer.xls" mime-type="application/vnd.ms-excel" name="xls" src="org.apache.cocoon.serialization.HSSFSerializer" locale="us"/> </map:serializers> <map:matchers default="wildcard"> <map:matcher logger="sitemap.matcher.wildcard" name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/> </map:matchers> <map:pipes default="caching"> <map:pipe name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/> </map:pipes> </map:components> <map:pipelines> <map:pipeline> <map:match pattern="try1.rpt"> <map:generate src="report.xml" type="jx"/> <map:serialize type="xls"/> </map:match> <map:match pattern="try2_a.rpt"> <map:generate src="report.xml" type="jx"/> <map:serialize type="xml"/> </map:match> <map:match pattern="try2_b.rpt"> <map:generate src="cocoon:/try2_a.rpt"/> <map:serialize type="xls"/> </map:match> <map:match pattern="report.raw"> <map:generate src="report.raw" type="file"/> <map:serialize type="xls"/> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> This is report.xml, the report template: <?xml version="1.0" encoding="ISO-8859-1"?> <jx:template xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"> <gmr:Workbook xmlns:gmr="http://www.gnome.org/gnumeric/v7"> <gmr:SheetNameIndex> <gmr:SheetName>Sheet1</gmr:SheetName> </gmr:SheetNameIndex> <gmr:Sheets> <gmr:Sheet> <gmr:Cells> <jx:forEach varStatus="rowStatus" begin="0" end="9"> <jx:forEach varStatus="colStatus" begin="0" end="9"> <gmr:Cell Col="${colStatus.index}" Row="${rowStatus.index}"> <gmr:Content>=${rowStatus.index * colStatus.index}</gmr:Content> </gmr:Cell> </jx:forEach> </jx:forEach> </gmr:Cells> </gmr:Sheet> </gmr:Sheets> </gmr:Workbook> </jx:template> The match "try1.rpt" and "try2_b.rpt" fails, giving slightly different stacktraces (see the bottom of this message) It works perfectly with static content. If I try the match "try2_b.rpt", and put the xml produced in a file with the name "report.raw", and then try the match with the same name, an excel sheet is generated. Stacktrace from "try1.rpt": Internal Server Error Message: Failed to process pipeline at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:36:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:35:51 Description: org.apache.cocoon.ProcessingException: Failed to process pipeline at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:36:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:35:51 Sender: org.apache.cocoon.servlet.CocoonServlet Source: Cocoon Servlet Request URI try1.rpt cause java.lang.NullPointerException request-uri /try1.rpt full exception chain stacktrace org.apache.cocoon.ProcessingException: Failed to process pipeline at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:36:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:35:51 at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:144) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:951) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:582) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:480) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.Cocoon.process(Cocoon.java:686) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) at org.mortbay.http.HttpContext.handle(HttpContext.java:1807) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) at org.mortbay.http.HttpContext.handle(HttpContext.java:1757) at org.mortbay.http.HttpServer.service(HttpServer.java:879) at org.mortbay.http.HttpConnection.service(HttpConnection.java:789) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511) Caused by: java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.SAXExceptionFactory(ElementProcessorSerializer.java:131) at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:276) at org.apache.cocoon.xml.AbstractXMLPipe.characters(AbstractXMLPipe.java:123) at org.apache.cocoon.generation.JXTemplateGenerator.execute(JXTemplateGenerator.java:2626) at org.apache.cocoon.generation.JXTemplateGenerator.performGeneration(JXTemplateGenerator.java:2497) at org.apache.cocoon.generation.JXTemplateGenerator.generate(JXTemplateGenerator.java:2488) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) ... 28 more Caused by: java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:273) ... 33 more stacktrace java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:273) at org.apache.cocoon.xml.AbstractXMLPipe.characters(AbstractXMLPipe.java:123) at org.apache.cocoon.generation.JXTemplateGenerator.execute(JXTemplateGenerator.java:2626) at org.apache.cocoon.generation.JXTemplateGenerator.performGeneration(JXTemplateGenerator.java:2497) at org.apache.cocoon.generation.JXTemplateGenerator.generate(JXTemplateGenerator.java:2488) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:480) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.Cocoon.process(Cocoon.java:686) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) at org.mortbay.http.HttpContext.handle(HttpContext.java:1807) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) at org.mortbay.http.HttpContext.handle(HttpContext.java:1757) at org.mortbay.http.HttpServer.service(HttpServer.java:879) at org.mortbay.http.HttpConnection.service(HttpConnection.java:789) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511) -------------------------------------------------------------- Stacktrace from "try2_b.rpt" Internal Server Error Message: Failed to process pipeline at <map:serialize type="xml"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:40:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:39:51 at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:44:36 at <map:generate> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:43:49 Description: org.apache.cocoon.ProcessingException: Failed to process pipeline at <map:serialize type="xml"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:40:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:39:51 at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:44:36 at <map:generate> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:43:49 Sender: org.apache.cocoon.servlet.CocoonServlet Source: Cocoon Servlet Request URI try2_b.rpt cause java.lang.NullPointerException request-uri /try2_b.rpt full exception chain stacktrace org.apache.cocoon.ProcessingException: Failed to process pipeline at <map:serialize type="xml"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:40:36 at <map:generate type="jx"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:39:51 at <map:serialize type="xls"> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:44:36 at <map:generate> - file:/C:/Development/cocoon-2.1.9/build/webapp/sitemap.xmap:43:49 at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:144) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:951) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:582) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:779) at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:412) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:100) at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:320) at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:115) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:480) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.Cocoon.process(Cocoon.java:686) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) at org.mortbay.http.HttpContext.handle(HttpContext.java:1807) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) at org.mortbay.http.HttpContext.handle(HttpContext.java:1757) at org.mortbay.http.HttpServer.service(HttpServer.java:879) at org.mortbay.http.HttpConnection.service(HttpConnection.java:789) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511) Caused by: java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.SAXExceptionFactory(ElementProcessorSerializer.java:131) at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:276) at org.apache.cocoon.components.EnvironmentChanger.characters(EnvironmentStack.java:154) at org.apache.cocoon.xml.AbstractXMLPipe.characters(AbstractXMLPipe.java:123) at org.apache.cocoon.generation.JXTemplateGenerator.execute(JXTemplateGenerator.java:2626) at org.apache.cocoon.generation.JXTemplateGenerator.performGeneration(JXTemplateGenerator.java:2497) at org.apache.cocoon.generation.JXTemplateGenerator.generate(JXTemplateGenerator.java:2488) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) ... 35 more Caused by: java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:273) ... 41 more stacktrace java.lang.NullPointerException at org.apache.cocoon.serialization.ElementProcessorSerializer.characters(ElementProcessorSerializer.java:273) at org.apache.cocoon.components.EnvironmentChanger.characters(EnvironmentStack.java:154) at org.apache.cocoon.xml.AbstractXMLPipe.characters(AbstractXMLPipe.java:123) at org.apache.cocoon.generation.JXTemplateGenerator.execute(JXTemplateGenerator.java:2626) at org.apache.cocoon.generation.JXTemplateGenerator.performGeneration(JXTemplateGenerator.java:2497) at org.apache.cocoon.generation.JXTemplateGenerator.generate(JXTemplateGenerator.java:2488) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:779) at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:412) at org.apache.cocoon.components.source.SourceUtil.toSAX(SourceUtil.java:100) at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:320) at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:115) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:578) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:480) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46) at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:142) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.Cocoon.process(Cocoon.java:686) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) at org.mortbay.http.HttpContext.handle(HttpContext.java:1807) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) at org.mortbay.http.HttpContext.handle(HttpContext.java:1757) at org.mortbay.http.HttpServer.service(HttpServer.java:879) at org.mortbay.http.HttpConnection.service(HttpConnection.java:789) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511) -- Werner Vesterås <[EMAIL PROTECTED]> Jacob Aalls gt 7 0368 OSLO Tel +47 452 99039 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
