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 = 


Reply via email to