try
{
if (interceptorHandlers.size() > 0)
{
final Iterator interceptorHandlerIter = interceptorHandlers.iterator() ;
InterceptorChain interceptorChain = new InterceptorBodyHandler(bodyHandler) ;
do
{
final InterceptorHandler handler = (InterceptorHandler)interceptorHandlerIter.next();
interceptorChain = new InterceptorChainHandler(interceptorChain, handler) ;
}
while (interceptorHandlerIter.hasNext()) ;
return interceptorChain.invokeNext(soapService, soapDetails, messageContext, messageResponseContext, action, streamReader) ;
}
else
{
return bodyHandler.invoke(soapDetails, messageContext, messageResponseContext, action, streamReader) ;
}