@Override
public void run(IRequest request, IResponse response, IResponderCallback responderCallback) throws Exception {
SCMPMessage reqMessage = request.getMessage();
String serviceName = reqMessage.getServiceName();
// look up srvService
SrvSessionService srvService = this.getSrvSessionServiceByServiceName(serviceName);
String sessionId = reqMessage.getSessionId();
// create scMessage
SCMessage scMessage = new SCMessage();
scMessage.setData(reqMessage.getBody());
scMessage.setDataLength(reqMessage.getBodyLength());
scMessage.setCompressed(reqMessage.getHeaderFlag(SCMPHeaderAttributeKey.COMPRESSION));
scMessage.setMessageInfo(reqMessage.getHeader(SCMPHeaderAttributeKey.MSG_INFO));
scMessage.setSessionId(sessionId);
scMessage.setServiceName(reqMessage.getServiceName());
scMessage.setSessionInfo(reqMessage.getHeader(SCMPHeaderAttributeKey.SESSION_INFO));
try {
// inform callback with scMessages
srvService.getCallback().deleteSession(scMessage,
Integer.parseInt(reqMessage.getHeader(SCMPHeaderAttributeKey.OPERATION_TIMEOUT)));
// handling msgSequenceNr
SCMPMessageSequenceNr msgSequenceNr = SrvCommandAdapter.sessionCompositeRegistry.getSCMPMsgSequenceNr(sessionId);
msgSequenceNr.incrementAndGetMsgSequenceNr();
// set up reply - SCMP Version request