Hi all,

I am running into a case where I need to check if a variable has been
initialized in a *<bpel:condition />*. The variable is first defined inside
*<bpel:variables>* without inline initialization. The following condition
is then added to a *<bpel:repeatUntil>*:

($variableIf_2Out.parameters/getStatusResult/status = 'CLICKED')

However *$variableIf_2Out* may not have been initialized as the
*<bpel:invoke>* activity that outputs it is conditional and may not have
been encountered yet.

I tried with:

(exists($variableIf_2Out) and
$variableIf_2Out.parameters/getStatusResult/status = 'CLICKED')

but that didn't seem to help (the expression language is set to
*"urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"*).

In a desperate attempt I tried:

(exists(bpel:getVariableData('variableIf_2Out', 'parameters')) and
$variableIf_2Out.parameters/getStatusResult/status = 'CLICKED')

and even:

<bpel:condition xmlns:bpws="
http://schemas.xmlsoap.org/ws/2004/03/business-process/";>
(exists(bpws:getVariableData('variableIf_2Out', 'parameters')) and
$variableIf_2Out.parameters/getStatusResult/status = 'CLICKED')
</bpel:condition>

That didn't get me anywhere either (according to the logs the function is
not defined or arguments cannot be matched).

Is there a way in ODE by which a variable can be checked to have been
initialized?

Thanks,
- Stan

Reply via email to