Map<String, Object> callProps = new HashMap<String, Object>(getRequestContext());
EndpointInfo epInfo = new EndpointInfo(epMetaData, targetAddress, callProps);
if (shouldMaintainSession())
addSessionInfo(reqMessage, callProps);
SOAPRemotingConnection remotingConnection = new SOAPRemotingConnection();
MessageAbstraction resMessage = remotingConnection.invoke(reqMessage, epInfo, oneway);
if (shouldMaintainSession())
saveSessionInfo(callProps, getRequestContext());
// At pivot the message context might be replaced