6 Replies Latest reply on Aug 8, 2008 6:04 AM by vinodkv

    Process state issue

    vinodkv

      hi
      I have 2 processes p1 and p2. I want to call p2 in p1.
      I have made both the processes separately and deployed them separately too.
      p2 was deployed first and p1 later.

      Now when i call p2 in p1, it says cannot initiate process as the ProcessDefinition is NULL.
      This happens even when i deploy both the processes together.

      Please provide a solution.

      Thanks in advance

        • 1. Re: Process state issue
          kukeltje

          wrong name in P1 referencing not P2 but something else?

          • 2. Re: Process state issue
            salaboy21

            I remember solve a problem like this with in sub process definition set the property
            binding="late" after a lot of debugging... (this property must set by hand and not using the GPD properties editor..)
            I think binding=late property is not for this scenario.. but solve the problem

            • 3. Re: Process state issue
              vinodkv

              Thanks for the reply salaboy...

              I tried the option of adding the late binding property to the sub process but it does not allow me to deploy the Process after that.

              Thanks Ronald .........
              I have checked the referencing of the subprocess and it is referencing the correct subprocess. I am also adding both the process definitions and do let me know if there are any changes required in them.


              ===============================================

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

              <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="InnerProcess">

              <assignment actor-id="admin">

              <start-state name="Start InnerProcess">


              </start-state>
              <task-node name="Done">


              </task-node>
              <end-state name="End"></end-state>
              </process-definition>




              ---------------------------------------------------------------------------

              <?xml version="1.0" encoding="UTF-8"?>
              <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="SubProcess">

              <assignment actor-id="admin">

              <start-state name="Start SubProcess">


              </start-state>
              <process-state name="InvokeTimeout">
              <sub-process name="InnerProcess"></sub-process>

              </process-state>
              <end-state name="End"></end-state>
              </process-definition>

              ---------------------------------------------------------------------------

              Now using these definitions it goes to the Subprocess but it does not execute it. It waits for it to be signalled and it moves ahead to the next node.

              What could be the solution ??

              • 4. Re: Process state issue
                vinodkv

                 

                <?xml version="1.0" encoding="UTF-8"?>
                
                 <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="InnerProcess">
                 <swimlane name="Roy">
                 <assignment actor-id="admin"></assignment>
                 </swimlane>
                 <start-state name="Start InnerProcess">
                 <task swimlane="Roy" name="Start InnerProcess"></task>
                 <transition to="Done" name="one"></transition>
                 </start-state>
                 <task-node name="Done">
                 <task swimlane="Roy" name="done"></task>
                 <transition to="End" name="inINtaskNode"></transition>
                 </task-node>
                 <end-state name="End"></end-state>
                 </process-definition>




                ---------------------------------------------------------------------------

                <?xml version="1.0" encoding="UTF-8"?>
                 <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="SubProcess">
                 <swimlane name="Initiator">
                 <assignment actor-id="admin"></assignment>
                 </swimlane>
                 <start-state name="Start SubProcess">
                 <task swimlane="Initiator" name="Start SubProcess"></task>
                 <transition to="InvokeTimeout" name="ok"></transition>
                 </start-state>
                 <process-state name="InvokeTimeout">
                 <sub-process name="InnerProcess"></sub-process>
                 <transition to="End"></transition>
                 </process-state>
                 <end-state name="End"></end-state>
                 </process-definition>

                ---------------------------------------------------------------------------

                • 5. Re: Process state issue
                  kukeltje

                  Salaboy,

                  binding=late should not be needed IF deployment is in the order of subprocess, maim process. The binding attribute has some other implications that might not be wanted. These two reasons are why I did not suggest using this.

                  In what order do you deploy these? The innerprocess should be deployed first, then the subprocess (strange naming btw)

                  • 6. Re: Process state issue
                    vinodkv

                    Sorry for the naming convention, it is from an example that i found online .

                    Have done the deployment in the same manner. Ths inner process first and the sub process later.
                    It goes to the Inner Process task and stays there but it does not execute anything under it.
                    If you signal the flow it goes ahead and completes the process flow.

                    Is there any other way to do it ??