if ( hName != null ) {
h = getHandler( hName );
if ( h != null )
h.invoke(msgContext);
else
throw new AxisFault( "Client.error",
Messages.getMessage("noHandler00", hName),
null, null );
}
else {
// This really should be in a handler - but we need to discuss it
// first - to make sure that's what we want.
/* Now we do the 'real' work. The flow is basically: */
/* */
/* Service Specific Request Chain */
/* Global Request Chain */
/* Transport Request Chain - must have a send at the end */
/* Transport Response Chain */
/* Global Response Chain */
/* Service Specific Response Chain */
/* Protocol Specific-Handler/Checker */
/**************************************************************/
// When do we call init/cleanup??
SOAPService service = null ;
msgContext.setPastPivot(false);
/* Process the Service Specific Request Chain */
/**********************************************/
service = msgContext.getService();
if ( service != null ) {
h = service.getRequestHandler();
if ( h != null )
h.invoke( msgContext );
}
/* Process the Global Request Chain */
/**********************************/
if ((h = getGlobalRequest()) != null )
h.invoke(msgContext);
/* Process the JAXRPC Handlers */
invokeJAXRPCHandlers(msgContext);
/** Process the Transport Specific stuff
*
* NOTE: Somewhere in here there is a handler which actually
* sends the message and receives a response. Generally
* this is the pivot point in the Transport chain.
*/
hName = msgContext.getTransportName();
if ( hName != null && (h = getTransport( hName )) != null ) {
h.invoke(msgContext);
}
else {
throw new AxisFault(
Messages.getMessage("noTransport00", hName));
}
/* Process the JAXRPC Handlers */
invokeJAXRPCHandlers(msgContext);