This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch coheigea/stax-policy-operation
in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git

commit 1ea5c2cbd1454cdcc0c65aa6ea51d9900b1259ed
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Tue Sep 8 16:12:24 2026 +0100

    Check the SOAPAction matches the body for the StAX policy case
---
 .../wss4j/policy/stax/enforcer/PolicyEnforcer.java | 47 +++++++++++-
 .../stax/enforcer/PolicyEnforcerFactory.java       | 28 +++++++-
 .../policy/stax/test/AbstractPolicyTestBase.java   |  3 +
 .../wss4j/policy/stax/test/AlgorithmSuiteTest.java | 12 ++--
 .../policy/stax/test/AsymmetricBindingTest.java    | 14 ++--
 .../stax/test/ContentEncryptedElementsTest.java    |  4 +-
 .../wss4j/policy/stax/test/DerivedKeyTests.java    | 18 ++---
 .../policy/stax/test/EncryptedElementsTest.java    |  4 +-
 .../wss4j/policy/stax/test/EncryptedPartsTest.java | 12 ++--
 .../wss4j/policy/stax/test/HttpsTokenTest.java     |  4 +-
 .../wss4j/policy/stax/test/IssuedTokenTest.java    | 14 ++--
 .../wss4j/policy/stax/test/KerberosTokenTest.java  |  4 +-
 .../wss4j/policy/stax/test/KeyValueTokenTest.java  |  4 +-
 .../apache/wss4j/policy/stax/test/LayoutTest.java  | 10 +--
 .../policy/stax/test/ProtectionOrderTest.java      | 12 ++--
 .../wss4j/policy/stax/test/RelTokenTest.java       |  2 +-
 .../policy/stax/test/RequiredElementsTest.java     |  4 +-
 .../wss4j/policy/stax/test/RequiredPartsTest.java  |  4 +-
 .../wss4j/policy/stax/test/SamlTokenTest.java      |  4 +-
 .../stax/test/SecureConversationTokenTest.java     |  4 +-
 .../policy/stax/test/SecurityContextTokenTest.java |  4 +-
 .../wss4j/policy/stax/test/SignedElementsTest.java |  4 +-
 .../wss4j/policy/stax/test/SignedPartsTest.java    | 12 ++--
 .../policy/stax/test/SpnegoContextTokenTest.java   |  2 +-
 .../policy/stax/test/SupportingTokensTest.java     | 84 +++++++++++-----------
 .../policy/stax/test/SymmetricBindingTest.java     | 10 +--
 .../policy/stax/test/TokenProtectionTest.java      | 20 +++---
 .../policy/stax/test/TransportBindingTest.java     |  8 +--
 .../wss4j/policy/stax/test/UsernameTokenTest.java  |  4 +-
 .../policy/stax/test/VulnerabliltyVectorsTest.java | 21 ++++++
 .../wss4j/policy/stax/test/X509TokenTest.java      |  4 +-
 .../test/InboundWSSecurityContextImplTest.java     |  6 +-
 32 files changed, 240 insertions(+), 147 deletions(-)

diff --git 
a/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcer.java
 
b/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcer.java
index 891a68969..061ba2f88 100644
--- 
a/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcer.java
+++ 
b/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcer.java
@@ -203,6 +203,17 @@ public class PolicyEnforcer implements 
SecurityEventListener {
         return noNamespaceOperation;
     }
 
+    private boolean matchesPolicyOperation(QName policyOperationName, QName 
soapOperationName) {
+        if (policyOperationName == null || soapOperationName == null) {
+            return true;
+        }
+        if (policyOperationName.equals(soapOperationName)) {
+            return true;
+        }
+        return (policyOperationName.getNamespaceURI() == null || 
policyOperationName.getNamespaceURI().length() == 0)
+            && 
soapOperationName.getLocalPart().equals(policyOperationName.getLocalPart());
+    }
+
     /**
      * Precondition: Policy _must_ be normalized!
      */
@@ -754,7 +765,20 @@ public class PolicyEnforcer implements 
SecurityEventListener {
                 effectivePolicy = 
findPolicyBySOAPOperationName(operationPolicies,
                                                                 
operationSecurityEvent.getOperation());
                 if (effectivePolicy == null) {
-                    //no policy to the operation given
+                    //No policy found for the operation: fail closed, 
explicitly. The
+                    //previous behaviour built an empty 
"NoPolicyFoundForOperation" policy
+                    //here and relied on the empty-alternatives guard in 
verifyPolicy()
+                    //(three calls away) to reject the message - correct, but 
emergent
+                    //rather than intentional, and the queued security events 
were still
+                    //processed before that rejection. Keep the deliberate 
allowance for
+                    //an initiator receiving an unsecured fault; reject 
everything else
+                    //up front.
+                    if (!(initiator && faultOccurred && noSecurityHeader)) {
+                        LOG.warn("No policy found for operation {}; rejecting 
the message",
+                                 operationSecurityEvent.getOperation());
+                        securityEventQueue.clear();
+                        throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY);
+                    }
                     effectivePolicy = new OperationPolicy(new QName(null, 
"NoPolicyFoundForOperation"));
                     effectivePolicy.setPolicy(new Policy());
                 }
@@ -764,6 +788,27 @@ public class PolicyEnforcer implements 
SecurityEventListener {
                     throw new 
WSSecurityException(WSSecurityException.ErrorCode.INVALID_SECURITY, e);
                 }
             }
+
+            //A policy preselected by SOAPAction must still agree with the 
actual Body operation.
+            if (!matchesPolicyOperation(effectivePolicy.getOperationName(), 
operationSecurityEvent.getOperation())
+                && !(initiator && faultOccurred && noSecurityHeader)) {
+                String soapAction = effectivePolicy.getOperationAction();
+                String message;
+                if (soapAction != null && !soapAction.isEmpty()) {
+                    message = "SOAPAction (" + soapAction + ") does not match 
with the current Operation: "
+                        + operationSecurityEvent.getOperation();
+                } else {
+                    message = "Policy operation " + 
effectivePolicy.getOperationName()
+                        + " does not match with the current Operation: "
+                        + operationSecurityEvent.getOperation();
+                }
+                LOG.warn("{}; rejecting the message", message);
+                securityEventQueue.clear();
+                throw new WSSecurityException(
+                        WSSecurityException.ErrorCode.INVALID_SECURITY,
+                        new IllegalArgumentException(message));
+            }
+
             try {
                 Iterator<SecurityEvent> securityEventIterator = 
securityEventQueue.descendingIterator();
                 while (securityEventIterator.hasNext()) {
diff --git 
a/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcerFactory.java
 
b/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcerFactory.java
index 6402ca67e..d25bbfde3 100644
--- 
a/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcerFactory.java
+++ 
b/ws-security-policy-stax/src/main/java/org/apache/wss4j/policy/stax/enforcer/PolicyEnforcerFactory.java
@@ -28,7 +28,9 @@ import java.util.Map;
 import javax.wsdl.Binding;
 import javax.wsdl.BindingOperation;
 import javax.wsdl.Definition;
+import javax.wsdl.Message;
 import javax.wsdl.Operation;
+import javax.wsdl.Part;
 import javax.wsdl.Port;
 import javax.wsdl.PortType;
 import javax.wsdl.Service;
@@ -235,8 +237,30 @@ public class PolicyEnforcerFactory {
 
                     Operation operation = bindingOperation.getOperation();
 
-                    OperationPolicy operationPolicy =
-                        new OperationPolicy(new QName(null, 
operation.getName()));
+                    //Where determinable (document/literal style), register 
the operation
+                    //under the QName of its input element - the QName that 
will actually
+                    //appear as the SOAP Body child and be reported in the
+                    //OperationSecurityEvent - so that exact QName matching in
+                    //PolicyEnforcer#findPolicyBySOAPOperationName works. A 
local-name-only
+                    //registration relies entirely on the local-part fallback, 
which lets a
+                    //Body child in ANY namespace with a colliding local part 
select this
+                    //operation's policy. For rpc style (no single input 
element part) the
+                    //previous local-name-only registration is retained.
+                    QName operationName = null;
+                    if (operation.getInput() != null && 
operation.getInput().getMessage() != null) {
+                        Message inputMessage = 
operation.getInput().getMessage();
+                        Map<?, ?> parts = inputMessage.getParts();
+                        if (parts != null && parts.size() == 1) {
+                            Object part = parts.values().iterator().next();
+                            if (part instanceof Part && ((Part) 
part).getElementName() != null) {
+                                operationName = ((Part) part).getElementName();
+                            }
+                        }
+                    }
+                    if (operationName == null) {
+                        operationName = new QName(null, operation.getName());
+                    }
+                    OperationPolicy operationPolicy = new 
OperationPolicy(operationName);
                     operationPolicyList.add(operationPolicy);
 
                     @SuppressWarnings("unchecked")
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AbstractPolicyTestBase.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AbstractPolicyTestBase.java
index cfd834959..b9feb4dfe 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AbstractPolicyTestBase.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AbstractPolicyTestBase.java
@@ -63,6 +63,9 @@ import java.util.List;
 
 public class AbstractPolicyTestBase extends AbstractTestBase {
 
+    protected static final QName WSDL_DEFINITIONS =
+        new QName("http://schemas.xmlsoap.org/wsdl/";, "definitions");
+
     @BeforeAll
     public static void setUp() throws Exception {
         WSProviderConfig.init();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AlgorithmSuiteTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AlgorithmSuiteTest.java
index 00487052a..f0b1685ef 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AlgorithmSuiteTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AlgorithmSuiteTest.java
@@ -56,7 +56,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
@@ -78,7 +78,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
@@ -110,7 +110,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
@@ -143,7 +143,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
@@ -168,7 +168,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
@@ -262,7 +262,7 @@ public class AlgorithmSuiteTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString, false, customAssertionBuilders);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         AlgorithmSuiteSecurityEvent algorithmSuiteSecurityEvent = new 
AlgorithmSuiteSecurityEvent();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AsymmetricBindingTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AsymmetricBindingTest.java
index 6997c2988..52aa1538d 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AsymmetricBindingTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/AsymmetricBindingTest.java
@@ -101,7 +101,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         SignedPartSecurityEvent signedPartSecurityEvent = new 
SignedPartSecurityEvent(null, true, protectionOrder);
@@ -142,7 +142,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(timestampSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -187,7 +187,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -242,7 +242,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -312,7 +312,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -386,7 +386,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -415,7 +415,7 @@ public class AsymmetricBindingTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         policyEnforcer.doFinal();
     }
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ContentEncryptedElementsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ContentEncryptedElementsTest.java
index 51438ef8d..678cbb004 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ContentEncryptedElementsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ContentEncryptedElementsTest.java
@@ -48,7 +48,7 @@ public class ContentEncryptedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -78,7 +78,7 @@ public class ContentEncryptedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/DerivedKeyTests.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/DerivedKeyTests.java
index a375d9314..4055cd0f8 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/DerivedKeyTests.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/DerivedKeyTests.java
@@ -116,7 +116,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         policyEnforcer.doFinal();
@@ -189,7 +189,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -267,7 +267,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -305,7 +305,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -333,7 +333,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -383,7 +383,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -418,7 +418,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -462,7 +462,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -502,7 +502,7 @@ public class DerivedKeyTests extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedElementsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedElementsTest.java
index 8a210a435..2c13cbdd4 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedElementsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedElementsTest.java
@@ -48,7 +48,7 @@ public class EncryptedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -78,7 +78,7 @@ public class EncryptedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedPartsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedPartsTest.java
index 8ae8136fd..7d197d55e 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedPartsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/EncryptedPartsTest.java
@@ -50,7 +50,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -84,7 +84,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -117,7 +117,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -147,7 +147,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         EncryptedPartSecurityEvent encryptedPartSecurityEvent = new 
EncryptedPartSecurityEvent(null, false, null);
@@ -173,7 +173,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -207,7 +207,7 @@ public class EncryptedPartsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/HttpsTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/HttpsTokenTest.java
index ccf4db18e..88a54bd07 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/HttpsTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/HttpsTokenTest.java
@@ -68,7 +68,7 @@ public class HttpsTokenTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(httpsTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -107,7 +107,7 @@ public class HttpsTokenTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(httpsTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
index 5cefdd005..fffa2a719 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/IssuedTokenTest.java
@@ -156,7 +156,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -220,7 +220,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -292,7 +292,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -364,7 +364,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -433,7 +433,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -520,7 +520,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -567,7 +567,7 @@ public class IssuedTokenTest extends AbstractPolicyTestBase 
{
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KerberosTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KerberosTokenTest.java
index 5c4cc53ac..bedc8f4f5 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KerberosTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KerberosTokenTest.java
@@ -114,7 +114,7 @@ public class KerberosTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -190,7 +190,7 @@ public class KerberosTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KeyValueTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KeyValueTokenTest.java
index 523b81a6e..fe80797d6 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KeyValueTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/KeyValueTokenTest.java
@@ -105,7 +105,7 @@ public class KeyValueTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -172,7 +172,7 @@ public class KeyValueTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/LayoutTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/LayoutTest.java
index 832c3365a..cbaebd3ca 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/LayoutTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/LayoutTest.java
@@ -58,7 +58,7 @@ public class LayoutTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -102,7 +102,7 @@ public class LayoutTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -124,7 +124,7 @@ public class LayoutTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -153,7 +153,7 @@ public class LayoutTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(timestampSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -177,7 +177,7 @@ public class LayoutTest extends AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ProtectionOrderTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ProtectionOrderTest.java
index 3a8d36d98..a21211a89 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ProtectionOrderTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/ProtectionOrderTest.java
@@ -57,7 +57,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -102,7 +102,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -128,7 +128,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -163,7 +163,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -209,7 +209,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -236,7 +236,7 @@ public class ProtectionOrderTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RelTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RelTokenTest.java
index d0b5cd446..86ddfa4cf 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RelTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RelTokenTest.java
@@ -101,7 +101,7 @@ public class RelTokenTest extends AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredElementsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredElementsTest.java
index c301ef4bd..c48de2359 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredElementsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredElementsTest.java
@@ -44,7 +44,7 @@ public class RequiredElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         RequiredElementSecurityEvent requiredElementSecurityEvent = new 
RequiredElementSecurityEvent();
@@ -71,7 +71,7 @@ public class RequiredElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         RequiredElementSecurityEvent requiredElementSecurityEvent = new 
RequiredElementSecurityEvent();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredPartsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredPartsTest.java
index 6717f9eea..9128872d4 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredPartsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/RequiredPartsTest.java
@@ -59,7 +59,7 @@ public class RequiredPartsTest extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(requiredPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -81,7 +81,7 @@ public class RequiredPartsTest extends AbstractPolicyTestBase 
{
         policyEnforcer.registerSecurityEvent(requiredPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SamlTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SamlTokenTest.java
index 7094aebb3..398f0bfc6 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SamlTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SamlTokenTest.java
@@ -123,7 +123,7 @@ public class SamlTokenTest extends AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -208,7 +208,7 @@ public class SamlTokenTest extends AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecureConversationTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecureConversationTokenTest.java
index 615b06892..2b1a56463 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecureConversationTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecureConversationTokenTest.java
@@ -109,7 +109,7 @@ public class SecureConversationTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -180,7 +180,7 @@ public class SecureConversationTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecurityContextTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecurityContextTokenTest.java
index dc14f6bf6..3fd00a138 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecurityContextTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SecurityContextTokenTest.java
@@ -111,7 +111,7 @@ public class SecurityContextTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -183,7 +183,7 @@ public class SecurityContextTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedElementsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedElementsTest.java
index a126e57cb..12a7f66b0 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedElementsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedElementsTest.java
@@ -48,7 +48,7 @@ public class SignedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -80,7 +80,7 @@ public class SignedElementsTest extends 
AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedPartsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedPartsTest.java
index d75dbcb9f..6dd4b9176 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedPartsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SignedPartsTest.java
@@ -53,7 +53,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -90,7 +90,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase {
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -123,7 +123,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase 
{
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -153,7 +153,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase 
{
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         SignedPartSecurityEvent signedPartSecurityEvent = new 
SignedPartSecurityEvent(null, false, null);
@@ -182,7 +182,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase 
{
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -219,7 +219,7 @@ public class SignedPartsTest extends AbstractPolicyTestBase 
{
         PolicyEnforcer policyEnforcer = 
buildAndStartPolicyEngine(policyString);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SpnegoContextTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SpnegoContextTokenTest.java
index b3ac55bdd..4fdd60f57 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SpnegoContextTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SpnegoContextTokenTest.java
@@ -101,7 +101,7 @@ public class SpnegoContextTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SupportingTokensTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SupportingTokensTest.java
index f264e7abb..33ccda237 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SupportingTokensTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SupportingTokensTest.java
@@ -79,7 +79,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -108,7 +108,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -149,7 +149,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -185,7 +185,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -225,7 +225,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -261,7 +261,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -305,7 +305,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(usernameTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -349,7 +349,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(usernameTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -397,7 +397,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(usernameTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -441,7 +441,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(usernameTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -477,7 +477,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(securityContextTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -513,7 +513,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(securityContextTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -553,7 +553,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(securityContextTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -589,7 +589,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(securityContextTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -624,7 +624,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -659,7 +659,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -698,7 +698,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -733,7 +733,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -768,7 +768,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -803,7 +803,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -842,7 +842,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -877,7 +877,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -912,7 +912,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -947,7 +947,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -986,7 +986,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1021,7 +1021,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1056,7 +1056,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1091,7 +1091,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -1130,7 +1130,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1165,7 +1165,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1211,7 +1211,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1257,7 +1257,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -1310,7 +1310,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1359,7 +1359,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1393,7 +1393,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1427,7 +1427,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -1465,7 +1465,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1499,7 +1499,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1533,7 +1533,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1567,7 +1567,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -1605,7 +1605,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -1639,7 +1639,7 @@ public class SupportingTokensTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(tokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SymmetricBindingTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SymmetricBindingTest.java
index 0c971fac9..c1871a8e0 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SymmetricBindingTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/SymmetricBindingTest.java
@@ -106,7 +106,7 @@ public class SymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         SignedPartSecurityEvent signedPartSecurityEvent = new 
SignedPartSecurityEvent(null, true, protectionOrder);
@@ -152,7 +152,7 @@ public class SymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(timestampSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -198,7 +198,7 @@ public class SymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -256,7 +256,7 @@ public class SymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
             fail("Exception expected");
@@ -319,7 +319,7 @@ public class SymmetricBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         SignedPartSecurityEvent signedPartSecurityEvent = new 
SignedPartSecurityEvent(null, true, protectionOrder);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TokenProtectionTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TokenProtectionTest.java
index 33d291255..dcb017b28 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TokenProtectionTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TokenProtectionTest.java
@@ -140,7 +140,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         }
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -213,7 +213,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         }
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         } catch (WSSecurityException e) {
@@ -257,7 +257,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -303,7 +303,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -350,7 +350,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(x509TokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -428,7 +428,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         }
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         } catch (WSSecurityException e) {
@@ -489,7 +489,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         }
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -562,7 +562,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         policyEnforcer.doFinal();
@@ -629,7 +629,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -706,7 +706,7 @@ public class TokenProtectionTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(signedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
         policyEnforcer.doFinal();
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TransportBindingTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TransportBindingTest.java
index 1d74d145c..724032b21 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TransportBindingTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/TransportBindingTest.java
@@ -72,7 +72,7 @@ public class TransportBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(httpsTokenSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         List<XMLSecurityConstants.ContentType> protectionOrder = new 
LinkedList<>();
@@ -123,7 +123,7 @@ public class TransportBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(timestampSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
@@ -178,7 +178,7 @@ public class TransportBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -232,7 +232,7 @@ public class TransportBindingTest extends 
AbstractPolicyTestBase {
         policyEnforcer.registerSecurityEvent(encryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         SignedPartSecurityEvent signedPartSecurityEvent = new 
SignedPartSecurityEvent(null, false, protectionOrder);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/UsernameTokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/UsernameTokenTest.java
index d25788508..86dea26e3 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/UsernameTokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/UsernameTokenTest.java
@@ -121,7 +121,7 @@ public class UsernameTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -201,7 +201,7 @@ public class UsernameTokenTest extends 
AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/VulnerabliltyVectorsTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/VulnerabliltyVectorsTest.java
index e56078ecf..8f83f24d6 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/VulnerabliltyVectorsTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/VulnerabliltyVectorsTest.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
@@ -38,6 +39,7 @@ import 
org.apache.wss4j.policy.stax.enforcer.PolicyEnforcerFactory;
 import org.apache.wss4j.policy.stax.enforcer.PolicyInputProcessor;
 import org.apache.wss4j.stax.ext.WSSConstants;
 import org.apache.wss4j.stax.ext.WSSSecurityProperties;
+import org.apache.wss4j.stax.securityEvent.OperationSecurityEvent;
 import org.apache.wss4j.stax.test.AbstractTestBase;
 import org.apache.wss4j.stax.test.CallbackHandlerImpl;
 import org.apache.xml.security.stax.ext.SecurePart;
@@ -47,6 +49,7 @@ import org.w3c.dom.Element;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
@@ -103,6 +106,24 @@ public class VulnerabliltyVectorsTest extends 
AbstractTestBase {
         }
     }
 
+    @Test
+    public void testSOAPActionMismatchFailsClosed() throws Exception {
+        PolicyEnforcerFactory policyEnforcerFactory = 
PolicyEnforcerFactory.newInstance(
+                
this.getClass().getClassLoader().getResource("testdata/wsdl/actionSpoofing.wsdl"));
+        PolicyEnforcer policyEnforcer = 
policyEnforcerFactory.newPolicyEnforcer("goodPolicy", false, null, 0, false);
+
+        OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
+        operationSecurityEvent.setOperation(new 
QName("http://example.com/evil";, "notGood"));
+
+        WSSecurityException ex = assertThrows(WSSecurityException.class,
+                () -> 
policyEnforcer.registerSecurityEvent(operationSecurityEvent));
+
+        assertEquals("SOAPAction (goodPolicy) does not match with the current 
Operation: " +
+                        "{http://example.com/evil}notGood";,
+                ex.getCause().getMessage());
+        assertEquals(WSSecurityException.INVALID_SECURITY, ex.getFaultCode());
+    }
+
     @Test
     public void testSignedBodyRelocationToHeader() throws Exception {
         InputStream sourceDocument = 
this.getClass().getClassLoader().getResourceAsStream("testdata/plain-soap-1.1.xml");
diff --git 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/X509TokenTest.java
 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/X509TokenTest.java
index fd634f2e2..a988d4395 100644
--- 
a/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/X509TokenTest.java
+++ 
b/ws-security-policy-stax/src/test/java/org/apache/wss4j/policy/stax/test/X509TokenTest.java
@@ -105,7 +105,7 @@ public class X509TokenTest extends AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
         policyEnforcer.registerSecurityEvent(operationSecurityEvent);
 
         policyEnforcer.doFinal();
@@ -175,7 +175,7 @@ public class X509TokenTest extends AbstractPolicyTestBase {
         
policyEnforcer.registerSecurityEvent(contentEncryptedElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(WSDL_DEFINITIONS);
 
         try {
             policyEnforcer.registerSecurityEvent(operationSecurityEvent);
diff --git 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/InboundWSSecurityContextImplTest.java
 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/InboundWSSecurityContextImplTest.java
index 4a9502fa0..c70f2d60f 100644
--- 
a/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/InboundWSSecurityContextImplTest.java
+++ 
b/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/InboundWSSecurityContextImplTest.java
@@ -195,7 +195,7 @@ public class InboundWSSecurityContextImplTest {
         
inboundWSSecurityContext.registerSecurityEvent(signedBSTElementSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(new 
QName("http://schemas.xmlsoap.org/wsdl/";, "definitions"));
         inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
 
         return securityEventList;
@@ -507,7 +507,7 @@ public class InboundWSSecurityContextImplTest {
         
inboundWSSecurityContext.registerSecurityEvent(header2EncryptedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(new 
QName("http://schemas.xmlsoap.org/wsdl/";, "definitions"));
         inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
         return securityEventList;
     }
@@ -723,7 +723,7 @@ public class InboundWSSecurityContextImplTest {
         
inboundWSSecurityContext.registerSecurityEvent(bodyEncryptedPartSecurityEvent);
 
         OperationSecurityEvent operationSecurityEvent = new 
OperationSecurityEvent();
-        operationSecurityEvent.setOperation(new QName("definitions"));
+        operationSecurityEvent.setOperation(new 
QName("http://schemas.xmlsoap.org/wsdl/";, "definitions"));
         inboundWSSecurityContext.registerSecurityEvent(operationSecurityEvent);
         return securityEventList;
     }

Reply via email to