Author: coheigea Date: Wed May 8 14:38:43 2013 New Revision: 1480301 URL: http://svn.apache.org/r1480301 Log: Merged revisions 1480295 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
........ r1480295 | coheigea | 2013-05-08 16:35:04 +0200 (Wed, 08 May 2013) | 10 lines Merged revisions 1480288 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1480288 | coheigea | 2013-05-08 16:26:26 +0200 (Wed, 08 May 2013) | 2 lines Get the last WSS4J Principal first when parsing the security context (+ skip the Decryption case) ........ ........ Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java Modified: cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java?rev=1480301&r1=1480300&r2=1480301&view=diff ============================================================================== --- cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java (original) +++ cxf/branches/2.6.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java Wed May 8 14:38:43 2013 @@ -470,7 +470,13 @@ public class WSS4JInInterceptor extends WSHandlerResult rResult = new WSHandlerResult(actor, wsResult); results.add(0, rResult); - for (WSSecurityEngineResult o : wsResult) { + for (int i = wsResult.size() - 1; i >= 0; i--) { + WSSecurityEngineResult o = wsResult.get(i); + Integer action = (Integer)o.get(WSSecurityEngineResult.TAG_ACTION); + if (action == WSConstants.ENCR) { + // Don't try to parse a Principal for the Decryption case + continue; + } final Principal p = (Principal)o.get(WSSecurityEngineResult.TAG_PRINCIPAL); if (p != null && isSecurityContextPrincipal(p, wsResult)) { msg.put(PRINCIPAL_RESULT, p);
