.getSandeshaStorageManager(rmMsgCtx.getMessageContext()
.getConfigurationContext());
FaultManager faultManager = new FaultManager();
RMMsgContext faultMessageContext = faultManager.checkForLastMsgNumberExceeded(rmMsgCtx);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
try {
engine.sendFault(faultMessageContext.getMessageContext());
} catch (AxisFault e) {
throw new SandeshaException ("Could not send the fault message",e);
}
return;
}
SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropretyBeanMgr();
//setting acked msg no range
Sequence sequence = (Sequence) rmMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
String sequenceId = sequence.getIdentifier().getIdentifier();
ConfigurationContext configCtx = rmMsgCtx.getMessageContext()
.getConfigurationContext();
if (configCtx == null) {
String message = "Configuration Context is null";
log.debug(message);
throw new SandeshaException(message);
}
faultMessageContext = faultManager.checkForUnknownSequence(rmMsgCtx,sequenceId);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
try {
engine.send(faultMessageContext.getMessageContext());
} catch (AxisFault e) {
throw new SandeshaException ("Could not send the fault message",e);
}
return;
}
//setting mustUnderstand to false.
sequence.setMustUnderstand(false);
rmMsgCtx.addSOAPEnvelope();
//throwing a fault if the sequence is closed.
faultMessageContext = faultManager. checkForSequenceClosed(rmMsgCtx,sequenceId);
if (faultMessageContext != null) {
ConfigurationContext configurationContext = msgCtx.getConfigurationContext();
AxisEngine engine = new AxisEngine(configurationContext);
try {