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.PortletRequestGlobals)> is null. * $ActionResponse_10a4b804525._targetServiceProperty($ActionResponse_10a4b804525.java) * $ActionResponse_10a4b804525.setRenderParameter($ActionResponse_10a4b804525.java) * $ActionResponse_10a4b804523.setRenderParameter($ActionResponse_10a4b804523.java) * org.apache.tapestry.portlet.PortletResponseRenderer.renderResponse(PortletResponseRenderer.java:44) * $ResponseRenderer_10a4b8043e5.renderResponse($ResponseRenderer_10a4b8043e5.java) * org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:203) * org.apache.tapestry.engine.AbstractEngine.handlePageRedirectException(AbstractEngine.java:343) * org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:254) * org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60) * $WebRequestServicer_10a4b804439.service($WebRequestServicer_10a4b804439.java) * org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48) * $WebRequestServicerFilter_10a4b80443b.service($WebRequestServicerFilter_10a4b80443b.java) * $WebRequestServicer_10a4b80443d.service($WebRequestServicer_10a4b80443d.java) * $WebRequestServicer_10a4b804437.service($WebRequestServicer_10a4b804437.java) * org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.service(RenderRequestServicerToWebRequestServicerBridge.java:49) * $RenderRequestServicer_10a4b804431.service($RenderRequestServicer_10a4b804431.java) * $RenderRequestServicer_10a4b80442b.service($RenderRequestServicer_10a4b80442b.java) * org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.java:161) * org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:102) * org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:230) * javax.servlet.http.HttpServlet.service(HttpServlet.java:689) * javax.servlet.http.HttpServlet.service(HttpServlet.java:802) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) * org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) * org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) * org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) * org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:213) * org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:125) * org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119) * org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:120) * org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:120) * org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:110) * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.renderMaximizedWindow(PageAggregatorImpl.java:156) * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.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(ActionValveImpl.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(ProfilerValveImpl.java:179) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:143) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:148) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:168) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:117) * java.security.AccessController.doPrivileged(Native Method) * javax.security.auth.Subject.doAsPrivileged(Unknown Source) * org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:111) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:55) * org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) * org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.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(ApplicationFilterChain.java:252) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.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(AuthenticatorBase.java:524) * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) * org.josso.tc55.agent.SSOAgentValve.invoke(SSOAgentValve.java:484) * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) * org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java: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]
