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 <[email protected]>
Authored: Wed Aug 27 14:25:54 2014 -0400
Committer: Daniel Kulp <[email protected]>
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();