|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)Several XPath-related issues: selection, rounding and message validation (3-in-1 report)
---------------------------------------------------------------------------------------- Key: ODE-337 URL: https://issues.apache.org/jira/browse/ODE-337 Project: ODE Issue Type: Bug Components: BPEL Runtime Affects Versions: 1.2 Reporter: Josef Spillner Attachments: ode-testcase-process.tar.gz After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Updated: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Josef Spillner updated ODE-337: ------------------------------- Attachment: ode-testcase-process.tar.gz The mentioned testcase process > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Commented: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12613976#action_12613976 ] Matthieu Riou commented on ODE-337: ----------------------------------- First, thanks a lot for going the extra mile and isolating those in a test case. The nodeset query filter problem sounds like a bug but I'd have to reproduce it and track it down the be sure. I'm somewhat surprised because the application of the filter is all happening within the xpath engine, which is kind of known to work. But I'll check it out later, there might be some weird interaction with our own code. By the way you may want to try using XPath 2.0 instead of 1.0 as it's a bit better overall. Just set the queryLanguage and expressionLanguage attributes at the process level (see http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X/distro/src/examples-war/HelloWorld2/HelloWorld2.bpel) The second problem is partially a consequence of the third. Without a schema, the xpath engine doesn't know whether it's supposed to return an int or a float, so it opts for the more generic one. Then round() should work but as soon as you assign the rounded value to something, you're back to the same problem. By the way XPath 1.0 is *not* schema aware under any circumstance so there's no hope there. The underlying issue for us is that the open source version of Saxon (for XPath 2.0) is not schema-aware and there are no open source schema-aware xpath engine that we can reuse. And in the land of non schema aware XPath engines, the results you're seeing are actually coherent :) > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Updated: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Josef Spillner updated ODE-337: ------------------------------- Attachment: testcase.bpel Based on your comments and suggestions I've updated the testcase BPEL file, which is attached. It contains a few more comments as well now. The round() issue only happens for XPath 1.0, but goes away when using XPath 2.0. If both implementations are not schema-aware, then it looks indeed like a bug in the XPath 1.0 handling to me. On the mailing list it was recently suggested to use [position()=X] instead of [X] to access individual elements from a sequence. This doesn't seem to change anything in my case, and should also not be necessary according to the XPath spec since both expressions are semantically equivalent. > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz, testcase.bpel > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Commented: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623939#action_12623939 ] Josef Spillner commented on ODE-337: ------------------------------------ Here's another update with yet another related bug in ODE: The schema in my supplied WSDL file requires unqualified elements, while my BPEL file uses fully-qualified selectors with prefixes. Ooops! However, even when fixing this inconsistency in the example, i.e. either adding elementFormDefault="qualified" to the schema or removing the prefixes for non-toplevel elements in the BPEL file, ODE will still show the same buggy behaviour. It looks like ODE doesn't honour element qualification at all even. The count() function at least works with fully-qualified elements, where node selection already fails, but with unqualified elements it also ceases to work, i.e. when setting elementFormDefault="unqualified" (or leaving out the attribute like before) and turning all "testcase:x" into "x" in the BPEL file. This issue becomes more complicated every day :/ > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz, testcase.bpel > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Commented: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624008#action_12624008 ] Matthieu Riou commented on ODE-337: ----------------------------------- Mmmh I'm not aware of any issue with XPath selection on qualified nodes, it's actually pretty common and it works for a lot of people. Is your case more specific than that? Also you're still using XPath 1.0 or is that with XPath 2.0? > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz, testcase.bpel > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Commented: (ODE-337) Several XPath-related issues: selection, rounding and message validation (3-in-1 report)[ https://issues.apache.org/jira/browse/ODE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624022#action_12624022 ] Josef Spillner commented on ODE-337: ------------------------------------ The count() issue is with unqualified nodes, not with qualified ones. count($msg.main/testcase:x) = 2 # correct count($msg.main/x) = 0 # incorrect despite using elementFormDefault="unqualified" The selection issue is with both: $msg.main/testcase:x[0] -> no nodes selected $msg.main/x[0] -> no nodes selected The issue applies to both, like the comments in the BPEL file say. > Several XPath-related issues: selection, rounding and message validation (3-in-1 report) > ---------------------------------------------------------------------------------------- > > Key: ODE-337 > URL: https://issues.apache.org/jira/browse/ODE-337 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Affects Versions: 1.2 > Reporter: Josef Spillner > Attachments: ode-testcase-process.tar.gz, testcase.bpel > > > After having had several issues with one of my processes, I tried to isolate the bugs and have put them into an easy-to-understand testcase process. > The main bug contained in it is that a nodeset selection like A[0] doesn't work correctly even if A contains two nodes. > To prove that two nodes are contained, I used the XPath count() function, which for some reason returns a floating point number, and even after round()ing it the number remains non-integer. This is the second bug. > To be able to return the number of nodes in the BPEL reply despite the message not conforming to its schema is also interesting. I think it's useful but by default messages should be validated against their schema. This is the third bug. > If the bugs are confirmed, I could open up dedicate bug reports for them, but I think at least the first two are related. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
| Free Forum Powered by Nabble | Forum Help |