You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Karthick Sankarachary (JIRA)" <ji...@apache.org> on 2009/01/23 23:23:59 UTC

[jira] Updated: (ODE-498) XPath variables used in predicates (e.g. element[$index]) cause bpel:selectionFailure

     [ https://issues.apache.org/jira/browse/ODE-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karthick Sankarachary updated ODE-498:
--------------------------------------

    Attachment: evaluate-embedded-variable-reference.patch

The root cause of this issue was a failure by the BPEL compiler, under certain circumstances, to properly evaluate XPath expressions containing variable references. In particular, if the compiler runs into a function reference in the XPath, it summarily short circuits the evaluation of the XPath, thereby ignoring any subsequent variable references. This leads the runtime to believe that that variable is undefined, hence the selection failure.

> XPath variables used in predicates (e.g.  element[$index]) cause bpel:selectionFailure
> --------------------------------------------------------------------------------------
>
>                 Key: ODE-498
>                 URL: https://issues.apache.org/jira/browse/ODE-498
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3, 2.0
>            Reporter: Alex Boisvert
>            Assignee: Karthick Sankarachary
>             Fix For: 1.3
>
>         Attachments: evaluate-embedded-variable-reference.patch
>
>
> As reported on the mailing list,
>  I found another BUG-like problem in  ODE 2.0 Build #87 (2009-1-8 2:25:04). That is: the counterName variable can't be used in the position expression of XPath as normal variables are. For example, the following BPEL piece
>          <forEach counterName="i" parallel="no">
>                  <startCounterValue>1</startCounterValue>
>                  <finalCounterValue>2</finalCounterValue>
>                  <scope>
>                    <assign>
>                      <copy>
>                        <from>$i</from>
>                        <to>$output0.body/xsd0:field1[position()=$i]</to>     <!-- note this line -->
>                      </copy>
>                    </assign>
>                  </scope>
>                </forEach>
> will incur such ERROR in ODE:
> ERROR - GeronimoLog.error(104) | Assignment Fault: {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=149,faultExplanation={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: {OXPath10Expression $output0.body/xsd0:field1[position()=$i]}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.