You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2025/08/08 09:19:19 UTC
(cxf) 03/16: Fixing all cxf-rt-ws-security tests
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 98c6e7afb56ce027f3a064fcf3597b8e486fa4c9
Author: Colm O hEigeartaigh <co...@apache.org>
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));