You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Matthieu Riou (JIRA)" <ji...@apache.org> on 2007/11/21 17:16:43 UTC

[jira] Resolved: (ODE-178) bpel:condition seems to incorrectly return false on some xpath expressions

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

Matthieu Riou resolved ODE-178.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2
         Assignee: Matthieu Riou

This has been fixed.

> bpel:condition seems to incorrectly return false on some xpath expressions
> --------------------------------------------------------------------------
>
>                 Key: ODE-178
>                 URL: https://issues.apache.org/jira/browse/ODE-178
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.1
>         Environment: unix/windows
>            Reporter: jan cwik
>            Assignee: Matthieu Riou
>             Fix For: 1.2
>
>         Attachments: loan-broker.zip
>
>
> I'm trying to do copying based on the node existance. That is first I want to find out if xpath query returns any value. Then I'm going to copy this value to the variable. The following is the bpel snippet that does it. This is the simplified version of the larger project. I managed to reproduce this issue on the modified loan-broker sample.
> It looks like the "boolean($request.body/hello:hello)" returns false since the copying of the request to response is never done. However, when I removed the "bpel:if" statement the copying is performed successfully. I have tested both exists and boolean functions.
> I increased the logging level in ServiceMix (orga.apache.ode=DEBUG), but I saw no entry in the logs that indicates that the "bpel:condition" was processed or not, there was no warning or error present.
>              <bpel:if>
>              <bpel:condition expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">boolean($request.body/hello:hello)</bpel:condition>
>                      <bpel:copy>
>                         <bpel:from>$request.body/hello:hello</bpel:from>
>                         <bpel:to>$response.body/hello:hello</bpel:to>
>                      </bpel:copy>
>              </bpel:if>   
> Please take a look at attached modified loan-broker sample. In the wsdl there is schema for the very simple request, in the bpel there is bpel:condition statement and in the JMSClient there is requests that is sent to ODE (command line: ant run)
> loan-broker\loan-broker-ode-su\src\main\resources\HelloWorld.bpel
> loan-broker\loan-broker-ode-su\src\main\resources\HelloWorld.wsdl
> loan-broker\src\main\java\JMSClient.java
> This is the message content that is sent to the ODE engine, it's sent from JMSClient class.
>             String request =
>                 "<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope'>\n" +
>                 "  <soap:Body>\n" +
>                 "    <HelloRequest xmlns='urn:/HelloWorld2.wsdl'>\n" +
>                 "      <hello> SUCCESS: ... verifying bpel:if ... if you see this, it means bpel:if worked fine </hello>\n" +
>                 "    </HelloRequest>\n" +
>                 "  </soap:Body>\n" +
>                 "</soap:Envelope>";

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