for (int rangeIndex=0; rangeIndex < newRanges.length; rangeIndex++) {
//now work on each newly acked message in this range
for(long messageNo = newRanges[rangeIndex].lowerValue; messageNo<=newRanges[rangeIndex].upperValue; messageNo++){
numberOfNewMessagesAcked++;
SenderBean matcher = new SenderBean();
matcher.setSequenceID(outSequenceId);
matcher.setMessageNumber(messageNo);
SenderBean retransmitterBean = retransmitterMgr.findUnique(matcher);
if (retransmitterBean != null) {
// Check we haven't got an Ack for a message that hasn't been sent yet !
if (retransmitterBean.getSentCount() == 0) {
FaultManager.makeInvalidAcknowledgementFault(rmMsgCtx, sequenceAck, ackRange,
storageManager, piggybackedAck);
if (log.isDebugEnabled())
log.debug("Exit: AcknowledgementProcessor::processAckHeader, Invalid Ack");
return;
}
String storageKey = retransmitterBean.getMessageContextRefKey();
boolean syncResponseNeeded = false;
if (Sandesha2Constants.SPEC_VERSIONS.v1_0.equals(rmVersion) && anonReplyTo) {
MessageContext applicationMessage = storageManager.retrieveMessageContext(storageKey, configCtx);
AxisOperation operation = applicationMessage.getAxisOperation();
if(operation!= null) {
int mep = operation.getAxisSpecifMEPConstant();
syncResponseNeeded = (mep == WSDLConstants.MEP_CONSTANT_OUT_IN);
}
}
if (!syncResponseNeeded) {
// removing the application message from the storage.
retransmitterMgr.delete(retransmitterBean.getMessageID());
storageManager.removeMessageContext(storageKey);
}
}
}//end for
}//end for