Use the class name instead of the class directly as cxf-rt-ws-addr SHOULD be 
optional and using the class prevents that.
At least log a FINE message about why the sec-policy stuff failed to load.

Conflicts:
        
rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/f82145e0
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/f82145e0
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/f82145e0

Branch: refs/heads/2.7.x-fixes
Commit: f82145e00d471fe09721c729b1a27152d8fed523
Parents: 4408bdc
Author: Daniel Kulp <dk...@apache.org>
Authored: Wed Aug 27 14:25:54 2014 -0400
Committer: Daniel Kulp <dk...@apache.org>
Committed: Wed Aug 27 14:33:12 2014 -0400

----------------------------------------------------------------------
 .../cxf/ws/security/policy/WSSecurityPolicyLoader.java      | 9 +++++++++
 .../apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java    | 3 +--
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/f82145e0/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
----------------------------------------------------------------------
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
index b573bc4..66f7f8b 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/WSSecurityPolicyLoader.java
@@ -21,11 +21,17 @@ package org.apache.cxf.ws.security.policy;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.xml.namespace.QName;
 
+import org.w3c.dom.Element;
+
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.ws.policy.AssertionBuilderLoader;
 import org.apache.cxf.ws.policy.AssertionBuilderRegistry;
 import org.apache.cxf.ws.policy.PolicyBuilder;
@@ -80,6 +86,8 @@ import 
org.apache.cxf.ws.security.policy.interceptors.WSSecurityPolicyIntercepto
 
 @NoJSR250Annotations
 public final class WSSecurityPolicyLoader implements 
PolicyInterceptorProviderLoader, AssertionBuilderLoader {
+    private static final Logger LOG = 
LogUtils.getL7dLogger(WSSecurityPolicyLoader.class);
+
     Bus bus;
     
     public WSSecurityPolicyLoader(Bus b) {
@@ -92,6 +100,7 @@ public final class WSSecurityPolicyLoader implements 
PolicyInterceptorProviderLo
             //as the policy framework will then not find the providers
             //and error out at that point.  If nothing uses ws-securitypolicy
             //no warnings/errors will display
+            LOG.log(Level.FINE, "Could not load or register WS-SecurityPolicy 
related classes.", t);
         }
     }
     

http://git-wip-us.apache.org/repos/asf/cxf/blob/f82145e0/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
----------------------------------------------------------------------
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 ed4d7bc..fe6550d 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
@@ -67,7 +67,6 @@ import org.apache.cxf.phase.Phase;
 import org.apache.cxf.phase.PhaseInterceptor;
 import org.apache.cxf.security.SecurityContext;
 import org.apache.cxf.staxutils.StaxUtils;
-import org.apache.cxf.ws.addressing.soap.MAPCodec;
 import org.apache.cxf.ws.security.SecurityConstants;
 import org.apache.cxf.ws.security.policy.interceptors.NegotiationUtils;
 import org.apache.cxf.ws.security.tokenstore.SecurityToken;
@@ -124,7 +123,7 @@ public class WSS4JInInterceptor extends 
AbstractWSS4JInterceptor {
 
         setPhase(Phase.PRE_PROTOCOL);
         getAfter().add(SAAJInInterceptor.class.getName());
-        getAfter().add(MAPCodec.class.getName());
+        getAfter().add("org.apache.cxf.ws.addressing.soap.MAPCodec");
     }
     public WSS4JInInterceptor(boolean ignore) {
         this();

Reply via email to