You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sh...@apache.org on 2010/12/23 03:46:18 UTC
svn commit: r1052146 -
/axis/axis2/java/rampart/branches/1_5_x/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
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;