*/
/* Process the Transport Specific Request Chain */
/**********************************************/
hName = msgContext.getTransportName();
SimpleTargetedChain transportChain = null;
if (log.isDebugEnabled())
log.debug(Messages.getMessage("transport01", "AxisServer.invoke", hName));
if( tlog.isDebugEnabled() ) {
t1=System.currentTimeMillis();
}
if ( hName != null && (h = getTransport( hName )) != null ) {
if (h instanceof SimpleTargetedChain) {
transportChain = (SimpleTargetedChain)h;
h = transportChain.getRequestHandler();
if (h != null)
h.invoke(msgContext);
}
}
if( tlog.isDebugEnabled() ) {
t2=System.currentTimeMillis();
}
/* Process the Global Request Chain */
/**********************************/
if ((h = getGlobalRequest()) != null ) {
h.invoke(msgContext);
}
/**
* At this point, the service should have been set by someone
* (either the originator of the MessageContext, or one of the
* transport or global Handlers). If it hasn't been set, we
* fault.
*/
h = msgContext.getService();
if (h == null) {
// It's possible that we haven't yet parsed the
// message at this point. This is a kludge to
// make sure we have. There probably wants to be
// some kind of declarative "parse point" on the handler
// chain instead....
Message rm = msgContext.getRequestMessage();
rm.getSOAPEnvelope().getFirstBody();
h = msgContext.getService();
if (h == null)
throw new AxisFault("Server.NoService",
Messages.getMessage("noService05",
"" + msgContext.getTargetService()),
null, null );
}
if( tlog.isDebugEnabled() ) {
t3=System.currentTimeMillis();
}
// Ensure that if we get SOAP1.2, then reply using SOAP1.2
if(msgContext.getRequestMessage().getSOAPEnvelope().getSOAPConstants() != null) {
SOAPConstants soapConstants = msgContext.getRequestMessage().getSOAPEnvelope().getSOAPConstants();
msgContext.setSOAPConstants(soapConstants);
}
h.invoke(msgContext);
if( tlog.isDebugEnabled() ) {
t4=System.currentTimeMillis();
}
/* Process the Global Response Chain */
/***********************************/
if ((h = getGlobalResponse()) != null)
h.invoke(msgContext);
/* Process the Transport Specific Response Chain */
/***********************************************/
if (transportChain != null) {
h = transportChain.getResponseHandler();
if (h != null)
h.invoke(msgContext);
}
if( tlog.isDebugEnabled() ) {