* @param ctx the message context.
* @return ResendCandidate
*/
protected ResendCandidate cacheUnacknowledged(ObjectMessageContext ctx) {
ResendCandidate candidate = null;
RMProperties rmps = RMContextUtils.retrieveRMProperties(ctx, true);
if (null == rmps) {
SOAPMessage message = (SOAPMessage)ctx.get(SOAP_MSG_KEY);
rmps = getRMSoapHandler().unmarshalRMProperties(message);
RMContextUtils.storeRMProperties(ctx, rmps, true);
}
AddressingProperties maps = ContextUtils.retrieveMAPs(ctx, false, true);
if (null == maps) {
SOAPMessage message = (SOAPMessage)ctx.get(SOAP_MSG_KEY);
try {
maps = getWsaSOAPHandler().unmarshalMAPs(message);
ContextUtils.storeMAPs(maps, ctx, true);
} catch (Exception ex) {
ex.printStackTrace();
}
}
SequenceType st = rmps.getSequence();
Identifier sid = st.getIdentifier();
synchronized (this) {
String key = sid.getValue();
List<ResendCandidate> sequenceCandidates =
getSequenceCandidates(key);