[CXF-6038] Only add the handler interceptors once
This closes #26

Signed-off-by: Daniel Kulp <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/00636b59
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/00636b59
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/00636b59

Branch: refs/heads/2.7.x-fixes
Commit: 00636b5987466ef8ab5e901fa0efc701bb124090
Parents: 6d4746a
Author: Kyle Lape <[email protected]>
Authored: Fri Oct 10 14:34:07 2014 -0700
Committer: Daniel Kulp <[email protected]>
Committed: Tue Oct 21 16:21:50 2014 -0400

----------------------------------------------------------------------
 .../apache/cxf/jaxws/support/JaxWsEndpointImpl.java    | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/00636b59/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 0b2a4eb..add48bb 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 @@ 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();    
@@ -555,6 +562,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