Title: Problems using <map:redirect-to uri=

Hello,

I'm trying to use the redirect tag inside a sitemap but I experience some problems.

I'm using cocoon 2.1.3.  , Tomcat 4.0

Part of my sitemap looks as:

The first pipeline calls an action which stores the "next-page-to-go" in the variable nextpage.  For instance when MyAction gets called it stores  "cocoon:/checkaccess" in the variable nextpage and hence the second pipeline listed is invoked.

<map:pipeline type="noncaching">
        <map:match pattern="dispatch">
                <map:act type="MyAction" src="">
                <map:redirect-to uri="{nextpage}" session="true"/>
                </map:act>
                </map:match>
</map:pipeline>



<map:pipeline type="noncaching">
                        <map:match pattern="checkaccess">
                                <map:act type="CheckAccessAction">
                                        <map:redirect-to uri="cocoon:/test session="true"/>
                                </map:act>
                        </map:match>
                </map:pipeline>


However in the logs various exceptions are printed:
Has anyone tried this before ?  Does the redirect tag with a cocoon URL forwards the request do the following pipeline similar as does for instance a <jsp:forward> tag does in JSPs ?


INFO    (2004-02-03) 16:01.57:600   [access] (Unknown-URI) Unknown-thread/CocoonServlet: Reloading from: jndi:/localhost/ipm/WEB-INF/cocoon.xconf

INFO    (2004-02-03) 16:02.12:129   [access] (/ipm/dispatch) HttpProcessor[8080][5]/CocoonServlet: 'dispatch' Processed by Apache Cocoon 2.1.3 in 1.867 seconds.

ERROR   (2004-02-03) 16:02.12:145   [access] (Unknown-URI) Unknown-thread/CocoonServlet: Cocoon got an Exception while trying to close stream.

java.io.IOException: The stream has been closed
        at org.apache.catalina.connector.ResponseStream.flush(ResponseStream.java:237)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1205)
        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:2347)
        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.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:1027)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
        at java.lang.Thread.run(Thread.java:536)
ERROR   (2004-02-03) 16:02.13:919   [access] (/ipm/dispatch) HttpProcessor[8080][5]/CocoonServlet: Internal Cocoon Problem

org.apache.cocoon.ProcessingException: Environment stack has not been cleaned up properly. Please report this (if possible together with a test case) to the Cocoon developers.

        at org.apache.cocoon.components.CocoonComponentManager.checkEnvironment(CocoonComponentManager.java:191)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:682)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:355)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:414)
        at org.apache.jsp.checkaccess$jsp._jspService(checkaccess$jsp.java:245)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.cocoon.components.jsp.JSPEngineImpl.executeJSP(JSPEngineImpl.java:122)
        at org.apache.cocoon.reading.JSPReader.generate(JSPReader.java:116)
        at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processReader(AbstractProcessingPipeline.java:621)

        at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:498)

        at org.apache.cocoon.components.treeprocessor.sitemap.ReadNode.invoke(ReadNode.java:119)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)

        at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)

        at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)

        at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)
        at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)
        at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112)
        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:2347)
        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.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:1027)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
        at java.lang.Thread.run(Thread.java:536

Reply via email to