Michael,

I've attached a patch to TAPESTRY-855 in jira that fixes this problem. The 
patch is for the 4.0 branch.

Perhaps this could make it into 4.0.1? I've seen a couple people beside me 
hitting this problem.

Thanks,

Raphael Jean
EntropySoft 

> -----Original Message-----
> From: Michael Becke [mailto:[EMAIL PROTECTED]
> Sent: jeudi 30 mars 2006 16:57
> To: [email protected]
> Subject: Portlets and PageRedirectException
> 
> Hello,
> 
> I am using Tapestry 4 to create portlets inside of Jetspeed 2 and am
> running into problems with page redirects.  Here's the scenario:
> 
>  - Each portlet implements PageValidateListener and does some
> validation inside of pageValidate()
>  - In some cases I need to redirect to a new page from pageValidate()
> and so I throw a PageRedirectException.
>  - This exception seems to be handled by AbstractEngine but a NPE
> occurs before the redirected to page is rendered.  The exception is
> included below.
> 
> This problem appears to be similar to this bug
> <http://issues.apache.org/jira/browse/TAPESTRY-855>, except that this
> is being throws after a redirect in beginPageRender.
> 
> Any ideas on how to solve this?
> 
> Thanks,
> 
> Mike
> 
> 
> Property 'actionResponse' of <OuterProxy for
> tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.Portlet
> RequestGlobals)>
> is null.
> 
>     *
> $ActionResponse_10a4b804525._targetServiceProperty($ActionResponse_10a4b80
> 4525.java)
>     *
> $ActionResponse_10a4b804525.setRenderParameter($ActionResponse_10a4b804525
> .java)
>     *
> $ActionResponse_10a4b804523.setRenderParameter($ActionResponse_10a4b804523
> .java)
>     *
> org.apache.tapestry.portlet.PortletResponseRenderer.renderResponse(Portlet
> ResponseRenderer.java:44)
>     *
> $ResponseRenderer_10a4b8043e5.renderResponse($ResponseRenderer_10a4b8043e5
> .java)
>     *
> org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.ja
> va:203)
>     *
> org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(Abst
> ractEngine.java:343)
>     *
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:254)
>     *
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEng
> ineTerminator.java:60)
>     *
> $WebRequestServicer_10a4b804439.service($WebRequestServicer_10a4b804439.ja
> va)
>     *
> org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCach
> ingFilter.java:48)
>     *
> $WebRequestServicerFilter_10a4b80443b.service($WebRequestServicerFilter_10
> a4b80443b.java)
>     *
> $WebRequestServicer_10a4b80443d.service($WebRequestServicer_10a4b80443d.ja
> va)
>     *
> $WebRequestServicer_10a4b804437.service($WebRequestServicer_10a4b804437.ja
> va)
>     *
> org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridg
> e.service(RenderRequestServicerToWebRequestServicerBridge.java:49)
>     *
> $RenderRequestServicer_10a4b804431.service($RenderRequestServicer_10a4b804
> 431.java)
>     *
> $RenderRequestServicer_10a4b80442b.service($RenderRequestServicer_10a4b804
> 42b.java)
>     *
> org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.j
> ava:161)
>     *
> org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortlet
> Instance.java:102)
>     *
> org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedConta
> inerServlet.java:230)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> onFilterChain.java:252)
>     *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> Chain.java:173)
>     *
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatche
> r.java:672)
>     *
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispat
> cher.java:574)
>     *
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatch
> er.java:499)
>     *
> org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(Servlet
> PortletInvoker.java:213)
>     *
> org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(Servlet
> PortletInvoker.java:125)
>     *
> org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.j
> ava:119)
>     *
> org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortle
> t(JetspeedPortletContainerWrapper.java:120)
>     *
> org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobI
> mpl.java:120)
>     *
> org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletR
> endererImpl.java:110)
>     *
> org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.renderMaximizedWind
> ow(PageAggregatorImpl.java:156)
>     *
> org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregato
> rImpl.java:102)
>     *
> org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java
> :48)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValve
> Impl.java:132)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76
> )
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java
> :100)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveIm
> pl.java:179)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginVal
> idationValveImpl.java:143)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(Passw
> ordCredentialValveImpl.java:148)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Localiz
> ationValveImpl.java:168)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecu
> rityValve.java:117)
>     * java.security.AccessController.doPrivileged(Native Method)
>     * javax.security.auth.Subject.doAsPrivileged(Unknown Source)
>     *
> org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSec
> urityValve.java:111)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURL
> ValveImpl.java:55)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(Capabilit
> yValveImpl.java:128)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.
> java:203)
>     *
> org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java
> :185)
>     *
> org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:231)
>     *
> org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:232)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati
> onFilterChain.java:252)
>     *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter
> Chain.java:173)
>     *
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
> java:213)
>     *
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
> java:178)
>     *
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa
> se.java:524)
>     *
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1
> 26)
>     *
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1
> 05)
>     * org.josso.tc55.agent.SSOAgentValve.invoke(SSOAgentValve.java:484)
>     *
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja
> va:107)
>     *
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148
> )
>     *
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.jav
> a:831)
>     *
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process
> (Http11AprProtocol.java:639)
>     *
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
>     * java.lang.Thread.run(Unknown Source)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to