[jbossws-commits] JBossWS SVN: r14355 - stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/jaxws/client.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Tue May 10 19:51:09 EDT 2011
Author: richard.opalka at jboss.com
Date: 2011-05-10 19:51:09 -0400 (Tue, 10 May 2011)
New Revision: 14355
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
Log:
[JBPAPP-6435][JBWS-3293] fixing dispatch impl to call registered handlers
Modified: stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
===================================================================
--- stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2011-05-10 23:49:15 UTC (rev 14354)
+++ stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2011-05-10 23:51:09 UTC (rev 14355)
@@ -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;
More information about the jbossws-commits
mailing list