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]
