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

Reply via email to