Jump to: navigation, search

Invoke Session With Parameters

An SCXML session can use parameters to pass additional information to the SCXML session being invoked, as shown in the following example.

<scxml version="1.0" xmlns="http://www.w3.org/2005/07/scxml" 
        xmlns:queue="www.genesyslab.com/modules/queue" 
        xmlns:dialog="www.genesyslab.com/modules/dialog" 
        initial="initial">
  <state id="initial">
    <transition event="interaction.added" target="invocation"/>
  </state>
  <state id="invocation">
    <invoke src="'http://localhost:9090/strategies/01_BASIC/_aux/RouteToDNWithParam.xml'" type="scxml">
      <param name="DN" expr="'7102'"/>
      <param name="ixnid" expr="_genesys.ixn.firstixnid"/>
    </invoke>
    <transition event="done.invoke.invocation.*" target="exit">
      <log expr="'DONE'"/>
    </transition>
    <transition event="error.invoke.invocation.*" target="error"/>
  </state>
  
  <final id="exit"/>
  <final id="error"/>
</scxml>

RouteToDNWithParam.xml makes use of the parameter in the following way:

<scxml version="1.0" xmlns="http://www.w3.org/2005/07/scxml" 
        xmlns:queue="www.genesyslab.com/modules/queue" 
        xmlns:dialog="www.genesyslab.com/modules/dialog" 
        initial="initial">
  <datamodel>
    <data id="DN"/>
    <data ID="ixnid"/>
  </datamodel>
  
  <state id="initial">
    <transition target="routing"/>
  </state>
  <state id="routing">
    <onentry>
      <queue:submit interactionid="_data.ixnid" priority="5" timeout="20">
        <queue:targets>
          <queue:target type="dn" name="_data.DN"/> 
        </queue:targets>
      </queue:submit>
    </onentry>
    
    <transition event="queue.submit.done" target="exit">
      <log expr="'DONE'"/>
      <log expr="_genesys.ixn.interactions[0].voice.ani"/>
      <log expr="'DONE'"/>
      <log expr="_event.data.targetselected"/>
    </transition>
    <transition event="error.queue.submit" target="error"/>
  </state>
  
  <final id="exit"/>
  <final id="error"/>
</scxml>
This page was last edited on August 14, 2014, at 20:21.
Comments or questions about this documentation? Contact us for support!