3 Replies Latest reply on Sep 28, 2011 2:42 PM by Maciej Swiderski

    Exception while trying to access java return value

    snyperboss Newbie

      Hello all,

       

      I am getting exception while trying to access the java method return value. Below are my source files.

       

       

      HelloWorld.jpdl.xml:

      ###################

       

      <?xml version="1.0" encoding="UTF-8"?>

        <process name="HelloWorld" xmlns="http://jbpm.org/4.4/jpdl">

                  <start g="127,111,38,30" name="start1">

                          <transition name="to PrintHelloWorld" to="PrintHelloWorld"

                                    g="-91,-18" />

                </start>

                  <java class="com.jap.san.HelloWorldTest" g="496,126,80,47"

                          method="printHelloWorld" name="PrintHelloWorld" var="returnValue">

                          <transition g="-42,-18" name="to end1" to="end1" />

                </java>

         <end g="634,132,29,27" name="end1" />

      </process>

       

       

      HelloWorldTest.java:

      ##################

       

      package com.jap.san;

      import java.io.Serializable;

       

      public class HelloWorldTest implements Serializable{

                 

                  public String printHelloWorld() {

                   

                            System.out.println(" hi hi hi here @@@@@@");

                    return "from method";

                  }

       

      }

       

       

       

      Test file:

      ######################

       

      ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();

                          RepositoryService repositoryService = processEngine.getRepositoryService();

                          ExecutionService executionService = processEngine.getExecutionService();

                          repositoryService.createDeployment().addResourceFromClasspath("com/jpmc/san/HelloWorld.jpdl.xml").deploy();

                          ProcessInstance processInstance =executionService.startProcessInstanceByKey("HelloWorld");

                          String pid = processInstance.getId();

                          String answer = (String) executionService.getVariable(pid, "returnValue");

                          System.out.println("answer");

       

       

       

       

       

      It error out on in the  line

       

      String answer = (String) executionService.getVariable(pid, "returnValue");

       

       

       

      19:58:26,064 INF | [DefaultCommandService] exception while executing command org.jbpm.pvm.internal.cmd.GetExecutionVariablesCmd@b9b8d0

      org.jbpm.api.JbpmException: execution HelloWorld.7 doesn't exist

                at org.jbpm.pvm.internal.cmd.GetExecutionVariablesCmd.execute(GetExecutionVariablesCmd.java:60)

                at org.jbpm.pvm.internal.cmd.GetExecutionVariablesCmd.execute(GetExecutionVariablesCmd.java:36)

                at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)

                at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:50)

                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)

                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)

                at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)

                at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)

                at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.getVariable(ExecutionServiceImpl.java:131)

                at com.jpmc.san.TestDeployment.main(TestDeployment.java:34)

       

       

      Thanks