[
https://issues.apache.org/jira/browse/ODE-178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
jan cwik updated ODE-178:
-------------------------
Description:
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>";
was:
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
> 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
>
> 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.