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

Reply via email to