[CXF-6038] Only add the handler interceptors once This closes #26 Signed-off-by: Daniel Kulp <dk...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/43f6a421 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/43f6a421 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/43f6a421 Branch: refs/heads/3.0.x-fixes Commit: 43f6a421a5ce4fc08c7a005760f5bdc6d855fbc2 Parents: fc59fb8 Author: Kyle Lape <kyle.l...@redhat.com> Authored: Fri Oct 10 14:34:07 2014 -0700 Committer: Daniel Kulp <dk...@apache.org> Committed: Tue Oct 21 16:17:15 2014 -0400 ---------------------------------------------------------------------- .../apache/cxf/jaxws/support/JaxWsEndpointImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/43f6a421/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java index accc5f4..6f0be97 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java @@ -123,6 +123,7 @@ public class JaxWsEndpointImpl extends EndpointImpl { private SOAPHandlerFaultOutInterceptor soapFaultOutInterceptor; private LogicalHandlerFaultInInterceptor logicalFaultInInterceptor; private SOAPHandlerFaultInInterceptor soapFaultInInterceptor; + private boolean handlerInterceptorsAdded; public JaxWsEndpointImpl(Bus bus, Service s, EndpointInfo ei) throws EndpointException { this(bus, s, ei, null, null, null, true); @@ -543,6 +544,12 @@ public class JaxWsEndpointImpl extends EndpointImpl { } public void addHandlerInterceptors() { + if (handlerInterceptorsAdded) { + return; + } + + handlerInterceptorsAdded = true; + List<Interceptor<? extends Message>> in = super.getInInterceptors(); List<Interceptor<? extends Message>> out = super.getOutInterceptors(); List<Interceptor<? extends Message>> outFault = super.getOutFaultInterceptors(); @@ -564,6 +571,12 @@ public class JaxWsEndpointImpl extends EndpointImpl { } } public void removeHandlerInterceptors() { + if (!handlerInterceptorsAdded) { + return; + } + + handlerInterceptorsAdded = false; + List<Interceptor<? extends Message>> in = super.getInInterceptors(); List<Interceptor<? extends Message>> out = super.getOutInterceptors(); List<Interceptor<? extends Message>> outFault = super.getOutFaultInterceptors();