Normalization processing of ExactlyOne operator is not complient with the
ws-policy specification
-------------------------------------------------------------------------------------------------
Key: WSCOMMONS-19
URL: http://issues.apache.org/jira/browse/WSCOMMONS-19
Project: WS-Commons
Type: Bug
Components: Policy
Reporter: Paul Nolan
Priority: Critical
The processing of ExactlyOne operators during normalization is incorrect if
there are more than 2. An easy way to illustrate this is to look at this
example.
<wsp:Policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:tst="http://sample.org/Assertions">
<tst:A wsp:Optional="true">A</tst:A>
<tst:B wsp:Optional="true">B</tst:B>
<tst:C wsp:Optional="true">C</tst:C>
</wsp:Policy>
This example has no ExactlyOnes in it. However during normalization the
optionals are converted to ExactlyOnes. The processing of these three
ExactlyOnes is performed in a nested loop. The resulting Policy has several
duplicate Alternatives and more importantly has the Alternative with all three
Assertions missing.If you were to add an additional optional Assertion to the
above example you would get even more missing Alternatives. The cross producing
of these ExactlyOnes should be carried out recursively. I have produced a patch
with the cross product code.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira