Announcement Announcement Module
No announcement yet.
Accessing a flow the second time Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Accessing a flow the second time

    Hi everyone,

    I just registered on the forums to ask a question about SWF2.0

    I'm currently fiddling about on Google App Engine to test out their neat features, and I installed a basic application with Spring, Spring Web Flow, a flow, some images, CSS and some basic navigation... After some messing about and fixing various bugs/problems, I have finally stumbled on a problem I can't seem to fix :-)

    Here's the application: (whats in a name, right)

    The problem is:
    - I navigate to the homepage
    - I click on 'register' on the top of the page
    - This points to the "/" page
    - It takes me to a new flow, with a starting view-state
    - This takes me to the /WEB-INF/jsp/subscription/register.jsp with has 2 basic links
    - You can go through the flow and finally come back to the homepage (/

    Now comes the tricky part:
    - When I click on the same link (/ to start the flow again, it directs me to an error page, indicating that "the /subscription request URL doesn't exist" even though I'm clicking on the / link...

    I can paste the code if necessary...

    Anyone have a clue? Maybe it relates specifically to Google App Engine, because it works locally and on their specific GAE server (I guess its Jetty)

    Thanks in advance!


  • #2
    anyone have a clue? or can someone point me to other experts on the matter?


    • #3
      Similar problem

      Hello all,

      I'm working on an application with Spring WebFlow and Facelets intended to run on the Google App Engine.
      Currently I have a similar problem.

      In the file in the welcome-list I have a redirect towards the flow, which is mapped to /stats/home. (/Stats is mapped to the dispatchservlet and /home points to the FlowController in the config of the SimpleUrlHandlerMapping.

      My application has a very simple flow of 3 states:
      1. view-state: first
      2. view-state: second
      3. end-state: redirect

      When I click through the flow I see:
      GET /stats/home -->302
      GET /stats/home -->302?jsessionid=zxcxcbzmcbz
      POST /stats/home?execution?e1s1
      GET /stats/home?execution?e1s2
      POST /stats/home?execution?e1s2
      GET /stats/intro

      So my flow has ended at this point. When I do a request for /stats/home again I see

      GET stats/home --> 302
      GET stats/home?execution?e1s2 --> 302
      GET stats/home --> 302
      GET stats/home?execution?e1s2 --> 302
      GET stats/home --> 302
      GET stats/home?execution?e1s2 --> 302
      GET stats/home --> 302
      GET stats/home?execution?e1s2 --> 302

      Until at some point my browser detects a endless loop.

      When I remove all my cookies and request the application again, I can click through the flow once again, but only just once.

      I'm wondering why the ending of the flow prohibits the execution for the second time.

      I do have sessions-enabled for users in the AppEngine config.

      Any suggestions are more then welcome about how to solve this.


      • #4
        Jep, that's exactly what I'm getting as well, you've just put it better :-)

        Very weird that this only happens on Google App Engine, since it works locally on Tomcat and the Google Jetty version...


        • #5
          Did you find the solution? I'm having the same problem.


          • #6
            No solution found yet

            In the last few months I haven't been working on the app for GAE anymore.
            So: No, I haven't found a problem yet.

            When I get more time available for that project again, I would look at:
            • Using a different FlowExecutionRepository. (Client Side might solve this issue)
            • Implement a FlowExecutionListener to monitor all events in a flow-execution.
            • Inspect the HttpSession for any 'remaining' attributes and remove those using a Custom FlowExecutionListener.
            • Check if WebFlow 3 has been release yet and try it with that version. ;-)

            Good luck and please post back any progress you make on this issue.