Author: bmaxwell
Date: 2011-07-02 01:31:51 -0400 (Sat, 02 Jul 2011)
New Revision: 14654
Modified:
stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515/
stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
Log:
[JBPAPP-6515] fixing dispatch impl to call registered handlers
Property changes on: stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515
___________________________________________________________________
Added: svn:mergeinfo
+ /stack/native/branches/jbossws-native-3.1.2:14355
Modified:
stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2011-07-02
05:30:51 UTC (rev 14653)
+++
stack/native/branches/jbossws-native-3.1.2.SP7_JBPAPP-6515/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2011-07-02
05:31:51 UTC (rev 14654)
@@ -159,13 +159,9 @@
handlerResolver.initHandlerChain(ecmd, HandlerType.POST, true);
PortInfo portInfo = epMetaData.getPortInfo();
- List<Handler> preChain = handlerResolver.getHandlerChain(portInfo,
HandlerType.PRE);
- List<Handler> epChain = handlerResolver.getHandlerChain(portInfo,
HandlerType.ENDPOINT);
- List<Handler> postChain = handlerResolver.getHandlerChain(portInfo,
HandlerType.POST);
-
- binding.setHandlerChain(preChain, HandlerType.PRE);
- binding.setHandlerChain(epChain, HandlerType.ENDPOINT);
- binding.setHandlerChain(postChain, HandlerType.POST);
+ this.appendHandlers(HandlerType.PRE, portInfo, binding);
+ this.appendHandlers(HandlerType.ENDPOINT, portInfo, binding);
+ this.appendHandlers(HandlerType.POST, portInfo, binding);
}
retObj = invokeInternalSOAP(obj);
@@ -177,6 +173,21 @@
return retObj;
}
+ private void appendHandlers(final HandlerType handlerType, final PortInfo portInfo,
final BindingExt binding)
+ {
+ final List<Handler> resolverHandlerChain =
this.handlerResolver.getHandlerChain(portInfo, handlerType);
+ final List<Handler> bindingHandlerChain =
binding.getHandlerChain(handlerType);
+
+ if (bindingHandlerChain == null || bindingHandlerChain.size() == 0)
+ {
+ binding.setHandlerChain(resolverHandlerChain, handlerType);
+ }
+ else
+ {
+ bindingHandlerChain.addAll(resolverHandlerChain);
+ }
+ }
+
private Object invokeInternalSOAP(Object obj) throws Exception
{
Object retObj = null;