These three exceptions
 
 
------- Exception 1
 
javax.servlet.ServletException: Failed to launch SCO null for user kworks for course sl_sequence due to exception
        org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:843)
        org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.techniques.kworks.StrictModeLaunchFilter.doFilter(StrictModeLaunchFilter.java:38)
 
org.techniques.scorm.sn.SequencingException: Current Activity is not defined / Sequencing session has not begun (NB.2.1-2)
        org.techniques.scorm.sn.ActivityTree.processNavContinueRequest(ActivityTree.java:327)
        org.techniques.scorm.sn.ActivityTree.processNavRequest(ActivityTree.java:232)
        org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:387)
        org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.techniques.kworks.StrictModeLaunchFilter.doFilter(StrictModeLaunchFilter.java:38)

 

------- Exception 2

 

10 Jan 2006 09:33:50,890 ERROR .techniques.kworks.eSCORTE4JSServlet - eSCORTE for JavaScript SOAP Request failed for user janet.gautieri@sunlife.com course sl_sequence sco test_ac_rtci due to: Current Activity is not defined / Sequencing session has not begun (NB.2.1-2).

 

org.techniques.scorm.sn.SequencingException: Current Activity is not defined / Sequencing session has not begun (NB.2.1-2)

            at org.techniques.scorm.sn.ActivityTree.processNavSuspendAllRequest(ActivityTree.java:266)

            at org.techniques.scorm.sn.ActivityTree.onExitUpdate(ActivityTree.java:1052)

            at org.techniques.kworks.eSCORTE4JSServlet.handleTerminateRequest(eSCORTE4JSServlet.java:472)

            at org.techniques.kworks.eSCORTE4JSServlet.doPost(eSCORTE4JSServlet.java:237)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)

            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)

            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

            at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

            at java.lang.Thread.run(Unknown Source)

 

---- Exception 3

 

 
org.techniques.scorm.sn.SequencingException: Cannot deliver a non-leaf activity (DB.1.1-1)
        at org.techniques.scorm.sn.ActivityTree.processDeliveryRequest(ActivityTree.java:703)
        at org.techniques.scorm.sn.ActivityTree.processSeqResumeAllRequest(ActivityTree.java:453)
        at org.techniques.scorm.sn.ActivityTree.processNavResumeAllRequest(ActivityTree.java:250)
        at org.techniques.scorm.sn.ActivityTree.processNavRequest(ActivityTree.java:224)
        at org.techniques.kworks.RTELaunchServlet.doPost(RTELaunchServlet.java:386)
        at org.techniques.kworks.RTEServlet.doGet(RTEServlet.java:130)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Unknown Source)

 

 

 

 

Are errors that are a result of suspend leaving the activity null after a suspend and then somehow getting into the code without doing a resume all and then doing a continue or a previous or something.

 

What the ADL runtime does is if you suspend an activity and click next after a suspend all, it will go to the next activity. In 2.3. (Starting and Stopping a Sequencing Session of the S&N manual), It is recommended, if the previous sequencing session ended due to a Suspend All navigation request, the LMS should issue a Resume All navigation request instead of a Start.


I disagree that hitting Continue should go to the next activity. It should go to the suspended activity through a resume all. --- I don’t know how it makes sense to have the continue button do any different.

 

In whatever case, it seems an exception is completely unneeded here unless I am wrong.

 

So I made the change that does that. It passes the 59 regression command line tests.

 

Activity Tree with my behavior

 

Finally it appears the last exception there came due to the earlier errors after suspending messing things up and then trying to resume – finding no activity there.