commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rahul Akolkar <>
Subject Re: [SCXML] invoke behavior
Date Mon, 23 Mar 2009 17:36:51 GMT
On Mon, Mar 23, 2009 at 7:42 AM, Armel SORO <> wrote:
> Hi everyone,
> I'm currently facing an issue using <invoke> element, not being called.
> Below is my case:
> <state id="S" initial="S1">
>   <state id="S1">
>       <onentry><log expr="'loop = '+loop"/></onentry>
>       <invoke src="SRC" targettype="vxml">
>           <param name="loop" expr="loop"/>
>       </invoke>
>       <transition event="SRC.invoke.done" target="S2"/>
>   </state>
>   <state id="S2">
>       <transition event="goToNext" cond="loop > '1'" target="S1">
>           <assign name="loop" expr="loop-1"/>
>       </transition>
>       <transition event="goTonext" target="S3"/>
>   </state>
>   <final id="S3"/>
> </state>
> The first invocation of 'SRC' is done without any problem, making the state
> machine switch from 'S1' to 'S2'.
> Once triggered the event "goTonext" while in 'S2', the state machine reaches
> 'S1' after updating the variable 'loop' but I don't know why the <invoke>
> element is not executed once again.
> Any reason behind this?

Nothing jumps out at me in the above example. The Invoker registered
with the state chart instance after the first entry into S1 should be
removed on exit, so the second entry into S1 should create a new
instance for the <invoke>. ISTR trying similar things with @targettype
scxml (though using a different @targettype shouldn't affect this

I suspect we will need to look into more details, such as the smallest
JUnit test case you can create to demonstrate this.

> I found out that <invoke> occurs only in atomic
> states, but this did not help in that case.

Yup, only in atomic states.


> Thanks in advance for your help!!!
> --
> Armel

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message