Author: coheigea
Date: Mon Jan 18 12:33:07 2010
New Revision: 900367

URL: http://svn.apache.org/viewvc?rev=900367&view=rev
Log:
[WSS-223]- Incorrect xpath set on WSDataRef when decrypting an EncryptedHeader 
instance.
 - Added a test as well.

Modified:
    
webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/ReferenceListProcessor.java
    
webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityEncryptionParts.java

Modified: 
webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/ReferenceListProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/ReferenceListProcessor.java?rev=900367&r1=900366&r2=900367&view=diff
==============================================================================
--- 
webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/ReferenceListProcessor.java
 (original)
+++ 
webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/ReferenceListProcessor.java
 Mon Jan 18 12:33:07 2010
@@ -249,7 +249,7 @@
             parent.getParentNode().appendChild(decryptedHeaderClone);
             parent.getParentNode().removeChild(parent);
             dataRef.setProtectedElement(decryptedHeaderClone);
-            dataRef.setXpath(getXPath(decryptedHeader));
+            dataRef.setXpath(getXPath(decryptedHeaderClone));
         } else if (content) {
             dataRef.setProtectedElement(encData);
             dataRef.setXpath(getXPath(encData));

Modified: 
webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityEncryptionParts.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityEncryptionParts.java?rev=900367&r1=900366&r2=900367&view=diff
==============================================================================
--- 
webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityEncryptionParts.java
 (original)
+++ 
webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityEncryptionParts.java
 Mon Jan 18 12:33:07 2010
@@ -193,7 +193,17 @@
         assertTrue(outputString.indexOf("wsse11:EncryptedHeader") != -1);
         assertTrue(outputString.indexOf("foo:foobar") == -1);
         
-        verify(encryptedDoc);
+        Vector results = verify(encryptedDoc);
+        
+        WSSecurityEngineResult actionResult =
+                WSSecurityUtil.fetchActionResult(results, WSConstants.ENCR);
+        assertTrue(actionResult != null);
+        final java.util.List refs =
+            (java.util.List) 
actionResult.get(WSSecurityEngineResult.TAG_DATA_REF_URIS);
+        assertTrue(actionResult != null && !actionResult.isEmpty());
+        WSDataRef wsDataRef = (WSDataRef)refs.get(0);
+        String xpath = wsDataRef.getXpath();
+        assertEquals("/soapenv:Envelope/soapenv:Header/foo:foobar", xpath);
     }
     
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to