}
this.requester.getSCMPMsgSequenceNr().incrementAndGetMsgSequenceNr();
// important to set pendingRequest true in case of asynchronous communication
this.pendingRequest = true;
// 2. initialize call & invoke
SCMPClnExecuteCall clnExecuteCall = new SCMPClnExecuteCall(this.requester, this.serviceName, this.sessionId);
clnExecuteCall.setMessageInfo(scMessage.getMessageInfo());
clnExecuteCall.setCacheId(scMessage.getCacheId());
clnExecuteCall.setCompressed(scMessage.isCompressed());
clnExecuteCall.setPartSize(scMessage.getPartSize());
clnExecuteCall.setRequestBody(scMessage.getData());
SCServiceCallback scmpCallback = new SCServiceCallback(this, this.messageCallback);
try {
clnExecuteCall.invoke(scmpCallback, operationtTimeoutSeconds * Constants.SEC_TO_MILLISEC_FACTOR);
} catch (Exception e) {
this.pendingRequest = false;
throw new SCServiceException("Send request failed. ", e);
}
}