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();