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

coheigea pushed a commit to branch coheigea/wss4j-saml-refactor
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit e47c6f66cf1b25052ee1890dff3a07a651960f3f
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Tue Jul 1 15:57:09 2025 +0100

    Fixing all cxf-rt-ws-security tests
---
 .../security/wss4j/AbstractWSS4JInterceptor.java   | 22 ++++++++--------------
 .../cxf/ws/security/wss4j/WSS4JInInterceptor.java  |  5 -----
 .../cxf/ws/security/wss4j/WSS4JOutInterceptor.java | 11 ++++++-----
 3 files changed, 14 insertions(+), 24 deletions(-)

diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JInterceptor.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JInterceptor.java
index b667288810..86a597c566 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JInterceptor.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/AbstractWSS4JInterceptor.java
@@ -25,7 +25,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import javax.security.auth.callback.CallbackHandler;
 import javax.xml.namespace.QName;
 
 import org.apache.cxf.binding.soap.SoapMessage;
@@ -87,6 +86,10 @@ public abstract class AbstractWSS4JInterceptor extends 
WSHandler implements Soap
         this.phase = phase;
     }
 
+    public String getPassword(Object msgContext) {
+        return (String)((Message)msgContext).getContextualProperty("password");
+    }
+
     public Object getOption(String key) {
         return properties.get(key);
     }
@@ -100,24 +103,15 @@ public abstract class AbstractWSS4JInterceptor extends 
WSHandler implements Soap
             return null;
         }
 
-        Object obj = SecurityUtils.getSecurityPropertyValue(key, 
(Message)msgContext);
+        Object obj = null;
+        if (msgContext instanceof Message) {
+             obj = SecurityUtils.getSecurityPropertyValue(key, 
(Message)msgContext);
+        }
         if (obj == null) {
             obj = getOption(key);
         }
         return obj;
     }
-
-    @Override
-    public CallbackHandler getCallbackHandler(
-        String callbackHandlerClass,
-        String callbackHandlerRef,
-        RequestData requestData
-    ) throws WSSecurityException {
-        if (callbackHandlerRef != null && 
properties.containsKey(callbackHandlerRef)) {
-            return (CallbackHandler)properties.get(callbackHandlerRef);
-        }
-        return super.getCallbackHandler(callbackHandlerClass, 
callbackHandlerRef, requestData);
-    }
     
     @Override
     protected String getString(String key, Map<String, Object> mc) {
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
index 8c738be7f5..ba06a694f4 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
@@ -185,11 +185,6 @@ public class WSS4JInInterceptor extends 
AbstractWSS4JInterceptor {
     public Object getProperty(Object msgContext, String key) {
         // use the superclass first
         Object result = super.getProperty(msgContext, key);
-        if (result == null) {
-            result = msgContext instanceof SoapMessage
-                ? ((SoapMessage)msgContext).getContextualProperty(key)
-                : null;
-        }
 
         // handle the special case of the SEND_SIGV
         if (result == null
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JOutInterceptor.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JOutInterceptor.java
index a4e0ade215..84115d1c86 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JOutInterceptor.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JOutInterceptor.java
@@ -46,6 +46,7 @@ import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.message.MessageUtils;
 import org.apache.cxf.phase.Phase;
 import org.apache.cxf.phase.PhaseInterceptor;
 import org.apache.cxf.rt.security.utils.SecurityUtils;
@@ -95,11 +96,6 @@ public class WSS4JOutInterceptor extends 
AbstractWSS4JInterceptor {
     public Object getProperty(Object msgContext, String key) {
         // use the superclass first
         Object result = super.getProperty(msgContext, key);
-        if (result == null) {
-            result = msgContext instanceof SoapMessage
-                ? ((SoapMessage)msgContext).getContextualProperty(key)
-                : null;
-        }
 
         // handle the special case of the RECV_RESULTS
         if (result == null
@@ -212,6 +208,11 @@ public class WSS4JOutInterceptor extends 
AbstractWSS4JInterceptor {
                 reqData.setCallbackHandler(getCallback(reqData));
                 reqData.setAttachmentCallbackHandler(new 
AttachmentCallbackHandler(mc));
 
+                if (!MessageUtils.isRequestor(mc)) {
+                    Object recvResults = 
((SoapMessage)mc).getExchange().getInMessage().get(WSHandlerConstants.RECV_RESULTS);
+                    mc.put(WSHandlerConstants.RECV_RESULTS, recvResults);
+                }
+                
                 // Enable XOP Include unless the user has explicitly 
configured it
                 if (getProperty(mc, ConfigurationConstants.EXPAND_XOP_INCLUDE) 
== null) {
                     
reqData.setExpandXopInclude(AttachmentUtil.isMtomEnabled(mc));

Reply via email to