I keep losing my conversation when using a redirect. 

Environment:
Seam 1.1.6
A4J 1.1.0
MyFaces 1.1.5

Page flow:
1) user hits landing page (conversation started from pages.xml)
2) user clicks link (conversation still active, also a join=true used on action 
method)
3) user fills out information and then clicks another link (action is a string, 
conversation is still running)
4) custom navigation handler executes redirect using 
"facesContext.getExternalContext().redirect(page);" (conversation is still 
active -- and stored)
5) New view is "restored" 
6) Render response is started and my pages.xml action method is called for the 
new page (returns success which doesn't match any rules)
7) conversation stored
8) Restore view is called again (this is a bad sign, not sure why this is 
happening)
9) I get the message "No stored conversation, or concurrent call to the stored 
conversation" from Manager
10) render response called again, but my page is now broken since the 
conversation ID has been lost.

Log flow:

  | DEBUG [BaseFilter] Filter start request processing at 3/30/07 5:45 PM  for 
uri: /OSoft/pages/ContentMgmt/landing.jsf
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) is about to start.
  | DEBUG [Manager] Found conversation id in request parameter: 25
  | DEBUG [Manager] Restoring conversation with id: 25
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) has completed.
  | DEBUG [DebugPhaseListener] The phase APPLY_REQUEST_VALUES(2) is about to 
start.
  | DEBUG [DebugPhaseListener] The phase APPLY_REQUEST_VALUES(2) has completed.
  | DEBUG [DebugPhaseListener] The phase PROCESS_VALIDATIONS(3) is about to 
start.
  | DEBUG [DebugPhaseListener] The phase PROCESS_VALIDATIONS(3) has completed.
  | DEBUG [DebugPhaseListener] The phase UPDATE_MODEL_VALUES(4) is about to 
start.
  | DEBUG [DebugPhaseListener] The phase UPDATE_MODEL_VALUES(4) has completed.
  | DEBUG [DebugPhaseListener] The phase INVOKE_APPLICATION(5) is about to 
start.
  | DEBUG [ActionPaneBean] Checking action pane navigation for action 
'nav.step2' and outcome 'nav.step2'. Current view is 
/pages/ContentMgmt/landing.xhtml and current action pane view is 
/pages/ContentMgmt/actionPane/editWebPage1.xhtml.
  | DEBUG [ActionPaneBean] Redirecting:
  |   Parent View ID: /pages/ContentMgmt/editWebPage.xhtml
  |   Action View ID: /pages/ContentMgmt/actionPane/editWebPage2.xhtml
  | DEBUG [NavigationHandlerImpl] handleNavigation fromAction=nav.step2 
outcome=nav.step2 no matching navigation-case found, staying on current ViewRoot
  | DEBUG [Manager] Storing conversation state: 25
  | DEBUG [DebugPhaseListener] The phase INVOKE_APPLICATION(5) has completed.
  | DEBUG [BaseXMLFilter] Create AJAX redirect response to url: 
/OSoft/pages/ContentMgmt/editWebPage.jsf?conversationId=25&conversationIsLongRunning=true
  | DEBUG [BaseFilter] Finished request processing total time 504ms for uri: 
/OSoft/pages/ContentMgmt/landing.jsf
  | DEBUG [BaseFilter] Filter start request processing at 3/30/07 5:45 PM  for 
uri: /OSoft/pages/ContentMgmt/editWebPage.jsf
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) is about to start.
  | DEBUG [Manager] Found conversation id in request parameter: 25
  | DEBUG [Manager] Restoring conversation with id: 25
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) has completed.
  | DEBUG [DebugPhaseListener] The phase RENDER_RESPONSE(6) is about to start.
  | DEBUG [ActionPaneBean] Checking action pane navigation for action 
'#{webPageBean.onLoad}' and outcome 'success'. Current view is 
/pages/ContentMgmt/editWebPage.xhtml and current action pane view is 
/pages/ContentMgmt/actionPane/editWebPage2.xhtml.
  | DEBUG [ActionPaneBean] Result is not configured for the action pane, 
delegating to faces navigation handler
  | DEBUG [NavigationHandlerImpl] handleNavigation 
fromAction=#{webPageBean.onLoad} outcome=success no matching navigation-case 
found, staying on current ViewRoot
  | DEBUG [Manager] Storing conversation state: 25
  | DEBUG [DebugPhaseListener] The phase RENDER_RESPONSE(6) has completed.
  | DEBUG [BaseFilter] Finished request processing total time 20083ms for uri: 
/OSoft/pages/ContentMgmt/editWebPage.jsf
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) is about to start.
  | DEBUG [Manager] No stored conversation, or concurrent call to the stored 
conversation
  | DEBUG [DebugPhaseListener] The phase RESTORE_VIEW(1) has completed.
  | DEBUG [DebugPhaseListener] The phase RENDER_RESPONSE(6) is about to start.
  | DEBUG [Manager] Discarding conversation state: 26
  | DEBUG [DebugPhaseListener] The phase RENDER_RESPONSE(6) has completed.
  | 

I am a bit baffled by this. I am using the A4J AJAX links and even tried adding:
<f:param name="conversationId" value="#{conversation.id}"/>
  | <seam:conversationPropagation type="join"/>

Any ideas on what may be going on?


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4033395#4033395

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4033395
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to