private void fillContextsFromSessionContext(MessageContext msgContext) throws AxisFault {
AxisService service = msgContext.getAxisService();
if (service == null) {
throw new AxisFault(Messages.getMessage("unabletofindservice"));
}
SessionContext sessionContext = msgContext.getSessionContext();
String serviceGroupContextId = msgContext.getServiceGroupContextId();
if (serviceGroupContextId != null && sessionContext != null) {
//setting service group context which is teken from session context
ServiceGroupContext serviceGroupContext = sessionContext.getServiceGroupContext(
serviceGroupContextId);
if (serviceGroupContext != null) {
//setting service group context
msgContext.setServiceGroupContext(serviceGroupContext);
// setting Service conetxt
msgContext.setServiceContext(serviceGroupContext.getServiceContext(service));
return;
}
}
String scope = service.getScope();
if (Constants.SCOPE_TRANSPORT_SESSION.equals(scope) && sessionContext != null) {
ServiceContext serviceContext = sessionContext.getServiceContext(service);
//found the serviceContext from session context , so adding that into msgContext
if (serviceContext != null) {
msgContext.setServiceContext(serviceContext);
}
}