Author: dkulp
Date: Wed Nov 14 19:50:20 2012
New Revision: 1409324
URL: http://svn.apache.org/viewvc?rev=1409324&view=rev
Log:
[CXF-4629] Skip the URIMappingInterceptor if ws-security is being used.
Part 1 of fix, backportable.
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/URIMappingInterceptor.java
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/URIMappingInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/URIMappingInterceptor.java?rev=1409324&r1=1409323&r2=1409324&view=diff
==============================================================================
---
cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/URIMappingInterceptor.java
(original)
+++
cxf/trunk/api/src/main/java/org/apache/cxf/interceptor/URIMappingInterceptor.java
Wed Nov 14 19:50:20 2012
@@ -45,6 +45,7 @@ import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageContentsList;
+import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.Phase;
import org.apache.cxf.service.Service;
import org.apache.cxf.service.invoker.MethodDispatcher;
@@ -55,6 +56,7 @@ import org.apache.cxf.service.model.Oper
import org.apache.cxf.service.model.ServiceModelUtil;
public class URIMappingInterceptor extends AbstractInDatabindingInterceptor {
+ public static final String URIMAPPING_SKIP =
URIMappingInterceptor.class.getName() + ".skip";
private static final Logger LOG =
LogUtils.getL7dLogger(URIMappingInterceptor.class);
@@ -73,6 +75,9 @@ public class URIMappingInterceptor exten
}
return;
}
+ if (MessageUtils.getContextualBoolean(message, URIMAPPING_SKIP,
false)) {
+ return;
+ }
String opName = getOperationName(message);
if (LOG.isLoggable(Level.FINE)) {
Modified:
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java?rev=1409324&r1=1409323&r2=1409324&view=diff
==============================================================================
---
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
(original)
+++
cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
Wed Nov 14 19:50:20 2012
@@ -56,6 +56,7 @@ import org.apache.cxf.common.security.Si
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.interceptor.URIMappingInterceptor;
import org.apache.cxf.interceptor.security.SAMLSecurityContext;
import org.apache.cxf.message.MessageUtils;
import org.apache.cxf.phase.Phase;
@@ -189,6 +190,8 @@ public class WSS4JInInterceptor extends
if (msg.containsKey(SECURITY_PROCESSED) || isGET(msg)) {
return;
}
+ //make sure we skip the URIMapping as we cannot apply security
requirements to that
+ msg.put(URIMappingInterceptor.URIMAPPING_SKIP, Boolean.TRUE);
msg.put(SECURITY_PROCESSED, Boolean.TRUE);
boolean utWithCallbacks =