<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JBPM 3.1 Exception thrown on EndState
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/baltajino">Al Daher</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/630832#630832">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>i am running my first JBPM example and i am encountrin a thrown exception at the end of the process.</p><p>The flow from start State through the next Nodes is gone smoothly except when the token is at end State i get the following exception message</p><p> org.jbpm.JbpmException: can't leave node 'EndState(endProjectManagementProcess)' without leaving transition</p><p>What i understand is that it's expecting a transition  a transition on End State Node. But what i know is that end state has no further transactions.</p><p>Exception is thrown in Node class cz Transition is null</p><p>My Process definition</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><?xml version="1.0" encoding="UTF-8"?></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><process-definition </p><p>  xmlns="urn:jbpm.org:jpdl-3.1"</p><p>  name="projectManagementProcess"></p><p>   <start-state name="startProjectManagementProcess"></p><p>     <task></p><p>        <controller></p><p>          <variable name="color" /></p><p>          <variable name="size" /></p><p>        </controller></p><p>      </task></p><p>        <transition to="validateProject" name="toValidateProject"></transition></p><p>   </start-state></p><p>   <node name="validateProject"></p><p>        <action class="com.dell.fo3test.workflow.action.ValidateProjectHandler"></action></p><p>        <transition to="decideWhetherValidOrNot" name="toDecideUponValidationResult"></transition></p><p>    </node></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <node name="createProject"></p><p>        <action class="com.dell.fo3test.workflow.action.CreateProjectHandler"></action></p><p>        <transition to="waitForProjectAssignmentTrigger"></transition></p><p>    </node></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <task-node name="waitForProjectAssignmentTrigger"></p><p>        <transition to="decideUponProjectStatusChange" name="toDecideUponProjectStatusChange"></transition></p><p>    </task-node></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <decision name="decideUponProjectStatusChange"></p><p>        <handler class="com.dell.fo3test.workflow.action.ProjectStatusChangeDecisionHandler"></handler></p><p>        <transition to="endProjectManagementProcess" name="toEndProjectWithNoTeamAssignment"></transition></p><p>        <transition to="waitForProjectStatusChangeTrigger" name="toWaitForTeamOrCustomerTrigger"></transition></p><p>    </decision></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <task-node name="waitForProjectStatusChangeTrigger"></p><p>        <transition to="decideUponTeamandCustomerActions"></transition></p><p>    </task-node></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <decision name="decideUponTeamandCustomerActions"></p><p>        <handler class="com.dell.fo3test.workflow.action.ProjectStatusChangeDecisionHandler"></handler></p><p>        <transition to="endProjectManagementProcess" name="toEndProcessWithProjectAccomplished"></transition></p><p>        <transition to="reopenProjectForMainteneance" name="toReopenProjectForMainteneance"></transition></p><p>    </decision></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <node name="reopenProjectForMainteneance"></p><p>        <transition to="waitForProjectStatusChangeTrigger"></transition></p><p>    </node></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <decision name="decideWhetherValidOrNot"></p><p>        <handler class="com.dell.fo3test.workflow.action.ProjectStatusChangeDecisionHandler"></handler></p><p>        <transition to="deleteProject" name="toEndProjectManagementProcessIfNotValid"></transition></p><p>        <transition to="createProject" name="toCreateProject"></transition></p><p>    </decision></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>    <node name="deleteProject"></p><p>        <action class="com.dell.fo3test.workflow.action.DeleteProjectHandler"></action></p><p>        <transition to="endProjectManagementProcess" name="toEnd"></transition></p><p>    </node></p><p>   <end-state name="endProjectManagementProcess"></end-state></p><p></process-definition></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Exception:</p><p>org.jbpm.graph.def.DelegationException</p><p>    at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:352)</p><p>    at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346)</p><p>    at org.jbpm.graph.def.Node.execute(Node.java:333)</p><p>    at org.jbpm.graph.def.Node.enter(Node.java:316)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Node_$$_javassist_84.enter(Node_$$_javassist_84.java)</p><p>    at org.jbpm.graph.def.Transition.take(Transition.java:119)</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:383)</p><p>    at org.jbpm.graph.node.StartState.leave(StartState.java:70)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Node_$$_javassist_84.leave(Node_$$_javassist_84.java)</p><p>    at org.jbpm.graph.exe.Token.signal(Token.java:178)</p><p>    at org.jbpm.graph.exe.Token.signal(Token.java:123)</p><p>    at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)</p><p>    at com.dell.fo3test.bpm.AbstractFO3BPMTest.startProcessInstance(AbstractFO3BPMTest.java:142)</p><p>    at com.dell.fo3test.bpm.AbstractProcessManagementBPMTest.startProjectManagementProcess(AbstractProcessManagementBPMTest.java:80)</p><p>    at com.dell.fo3test.bpm.ProcessTest.testStartNotValidProjectProcess(ProcessTest.java:35)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:81)</p><p>    at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)</p><p>    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)</p><p>    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)</p><p>    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)</p><p>    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)</p><p>    at org.testng.TestRunner.runWorkers(TestRunner.java:1172)</p><p>    at org.testng.TestRunner.privateRun(TestRunner.java:757)</p><p>    at org.testng.TestRunner.run(TestRunner.java:608)</p><p>    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)</p><p>    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)</p><p>    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)</p><p>    at org.testng.SuiteRunner.run(SuiteRunner.java:240)</p><p>    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)</p><p>    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)</p><p>    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)</p><p>    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1154)</p><p>    at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)</p><p>    at org.testng.TestNG.run(TestNG.java:999)</p><p>    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)</p><p>    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:203)</p><p>    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)</p><p>Caused by: org.jbpm.JbpmException: can't leave node 'EndState(endProjectManagementProcess)' without leaving transition</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:365)</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:347)</p><p>    at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)</p><p>    at com.dell.fo3test.workflow.action.ValidateProjectHandler.execute(ValidateProjectHandler.java:57)</p><p>    at org.jbpm.graph.def.Action.execute(Action.java:123)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Action_$$_javassist_36.execute(Action_$$_javassist_36.java)</p><p>    at org.jbpm.graph.def.Node.execute(Node.java:328)</p><p>    ... 48 more</p><p>org.jbpm.graph.def.DelegationException</p><p>    at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:352)</p><p>    at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346)</p><p>    at org.jbpm.graph.def.Node.execute(Node.java:333)</p><p>    at org.jbpm.graph.def.Node.enter(Node.java:316)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Node_$$_javassist_84.enter(Node_$$_javassist_84.java)</p><p>    at org.jbpm.graph.def.Transition.take(Transition.java:119)</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:383)</p><p>    at org.jbpm.graph.node.StartState.leave(StartState.java:70)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Node_$$_javassist_84.leave(Node_$$_javassist_84.java)</p><p>    at org.jbpm.graph.exe.Token.signal(Token.java:178)</p><p>    at org.jbpm.graph.exe.Token.signal(Token.java:123)</p><p>    at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:217)</p><p>    at com.dell.fo3test.bpm.AbstractFO3BPMTest.startProcessInstance(AbstractFO3BPMTest.java:142)</p><p>    at com.dell.fo3test.bpm.AbstractProcessManagementBPMTest.startProjectManagementProcess(AbstractProcessManagementBPMTest.java:80)</p><p>    at com.dell.fo3test.bpm.ProcessTest.testStartNotValidProjectProcess(ProcessTest.java:35)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:81)</p><p>    at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)</p><p>    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)</p><p>    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)</p><p>    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)</p><p>    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)</p><p>    at org.testng.TestRunner.runWorkers(TestRunner.java:1172)</p><p>    at org.testng.TestRunner.privateRun(TestRunner.java:757)</p><p>    at org.testng.TestRunner.run(TestRunner.java:608)</p><p>    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)</p><p>    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)</p><p>    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)</p><p>    at org.testng.SuiteRunner.run(SuiteRunner.java:240)</p><p>    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)</p><p>    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)</p><p>    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)</p><p>    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1154)</p><p>    at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)</p><p>    at org.testng.TestNG.run(TestNG.java:999)</p><p>    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)</p><p>    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:203)</p><p>    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)</p><p>Caused by: org.jbpm.JbpmException: can't leave node 'EndState(endProjectManagementProcess)' without leaving transition</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:365)</p><p>    at org.jbpm.graph.def.Node.leave(Node.java:347)</p><p>    at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)</p><p>    at com.dell.fo3test.workflow.action.ValidateProjectHandler.execute(ValidateProjectHandler.java:57)</p><p>    at org.jbpm.graph.def.Action.execute(Action.java:123)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</p><p>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</p><p>    at java.lang.reflect.Method.invoke(Unknown Source)</p><p>    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)</p><p>    at org.jbpm.graph.def.Action_$$_javassist_36.execute(Action_$$_javassist_36.java)</p><p>    at org.jbpm.graph.def.Node.execute(Node.java:328)</p><p>    ... 48 more</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/630832#630832">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>