Author: shankar Date: Thu Dec 23 02:46:18 2010 New Revision: 1052146 URL: http://svn.apache.org/viewvc?rev=1052146&view=rev Log: Applying patch from commit 1052082 by Nandana
(RAMPART-136 now the XPath expression is evaluated against the SOAP header) Modified: axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java Modified: axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?rev=1052146&r1=1052145&r2=1052146&view=diff ============================================================================== --- axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java (original) +++ axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java Thu Dec 23 02:46:18 2010 @@ -1164,9 +1164,12 @@ public class RampartUtil { * @return */ public static boolean checkRequiredElements(SOAPEnvelope envelope, HashMap decNamespaces, String expression ) { + + // The XPath expression must be evaluated against the SOAP header + // http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Toc161826519 + SOAPHeader header = envelope.getHeader(); - - Set namespaces = findAllPrefixNamespaces(envelope, decNamespaces); + Set namespaces = findAllPrefixNamespaces(header, decNamespaces); try { XPath xp = new AXIOMXPath(expression); @@ -1178,7 +1181,7 @@ public class RampartUtil { xp.addNamespace(tmpNs.getPrefix(), tmpNs.getNamespaceURI()); } - List selectedNodes = xp.selectNodes(envelope); + List selectedNodes = xp.selectNodes(header); if (selectedNodes.size() == 0 ) { return false;