[ 
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.

Reply via email to