From 69c001d075fa819622600897d057168e65a1d330 Mon Sep 17 00:00:00 2001 From: Kyle Lape Date: Fri, 10 Oct 2014 14:34:07 -0700 Subject: [PATCH] [CXF-6038] Only add the handler interceptors once --- .../apache/cxf/jaxws/support/JaxWsEndpointImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 0b2a4ebf40a..add48bb0cbd 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); @@ -534,6 +535,12 @@ final void createJaxwsBinding() { } public void addHandlerInterceptors() { + if (handlerInterceptorsAdded) { + return; + } + + handlerInterceptorsAdded = true; + List> in = super.getInInterceptors(); List> out = super.getOutInterceptors(); List> outFault = super.getOutFaultInterceptors(); @@ -555,6 +562,12 @@ public void addHandlerInterceptors() { } } public void removeHandlerInterceptors() { + if (!handlerInterceptorsAdded) { + return; + } + + handlerInterceptorsAdded = false; + List> in = super.getInInterceptors(); List> out = super.getOutInterceptors(); List> outFault = super.getOutFaultInterceptors();