Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlowHandler.handleExecutionOutcome sendRedirect not working for mvc portlet for external redirect [SWF-1551] #734

Open
spring-operator opened this issue Jun 14, 2012 · 1 comment

Comments

@spring-operator
Copy link
Contributor

spring-operator commented Jun 14, 2012

kaushal desai opened SWF-1551 and commented

This is related to #1531, where the suggestion is to override FlowHandler.handleExecutionOutcome method and use ActionResponse.sendRedirect for end-state.

When same is implemented, following exception stack trace is generated:

00000611 SystemErr     R java.lang.IllegalStateException: Can't invoke sendRedirect() after certain methods have been called
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.core.impl.ActionResponseImpl.sendRedirect(ActionResponseImpl.java:144)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at com.test.web.spring.handler.MyFlowHandler.handleExecutionOutcome(MyFlowHandler.java:22)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at org.springframework.webflow.mvc.portlet.FlowHandlerAdapter.handleFlowExecutionOutcome(FlowHandlerAdapter.java:279)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at org.springframework.webflow.mvc.portlet.FlowHandlerAdapter.handleAction(FlowHandlerAdapter.java:170)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:641)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:519)
[6/14/12 7:06:58:421 EST] 00000611 SystemErr     R 	at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:460)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImpl.doFilter(PortletFilterChainImpl.java:77)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.wps.propertybroker.standard.filter.PropertyBrokerActionFilter.doFilter(PropertyBrokerActionFilter.java:731)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImpl.doFilter(PortletFilterChainImpl.java:69)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.wps.propertybroker.standard.filter.C2APortletFilter.doFilter(C2APortletFilter.java:166)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImpl.doFilter(PortletFilterChainImpl.java:69)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.wps.engine.dpr.portlet.impl.ProcessActionMemoFilter.doFilter(ProcessActionMemoFilter.java:88)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImpl.doFilter(PortletFilterChainImpl.java:69)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.doDispatch(PortletServlet.java:527)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:114)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.isclite.container.collaborator.PortletServletCollaborator.doAction(PortletServletCollaborator.java:56)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:101)
[6/14/12 7:06:58:422 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollaborator.doAction(RRDServerPortletServletCollaborator.java:117)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:101)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.cache.CacheCollaborator.doAction(CacheCollaborator.java:84)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:101)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.wps.pe.pc.waspc.core.impl.PortletServletCollaboratorImpl.doAction(PortletServletCollaboratorImpl.java:146)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:101)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.doDispatch(PortletServlet.java:301)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:82)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.isclite.container.collaborator.PortletServletCollaborator.doDispatch(PortletServletCollaborator.java:124)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollaborator.doDispatch(RRDServerPortletServletCollaborator.java:60)
[6/14/12 7:06:58:423 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.cache.CacheCollaborator.doDispatch(CacheCollaborator.java:74)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.wps.pe.pc.waspc.core.impl.PortletServletCollaboratorImpl.doDispatch(PortletServletCollaboratorImpl.java:121)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollaboratorChainImpl.doCollaborator(PortletServletCollaboratorChainImpl.java:74)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.dispatch(PortletServlet.java:208)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.service(PortletServlet.java:165)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
[6/14/12 7:06:58:424 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:639)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:235)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollaboratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainImpl.java:76)
[6/14/12 7:06:58:425 EST] 00000611 SystemErr     R 	at com.ibm.ws.portletcontainer.cache.PortletInvokerCacheCollaborator.doAction(PortletInvokerCacheCollaborator.java:50)

Affects: 2.3.1

@spring-operator
Copy link
Contributor Author

Rossen Stoyanchev commented

The booking-portlet-mvc samples doesn't do a redirect but you can experiment. It would be useful if you could isolate whether the issue is linked to Web Flow or your portlet container. For example does it work in Apache Pluto or other you can try with? Have you tried redirecting in your own portlet container without Web Flow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants