JaxwsApplicationMessage jam = null;
if (message instanceof JaxwsApplicationMessage) {
jam = JaxwsApplicationMessage.class.cast(message);
} else {
throw LOGGER.logSevereException(new RxRuntimeException(LocalizationMessages.WSRM_1141_UNEXPECTED_MESSAGE_CLASS(
message.getClass().getName(),
JaxwsApplicationMessage.class.getName())));
}
String correlationId = jam.getCorrelationId();
SuspendedFiberStorage sfs = deliveryCallback.getRuntimeContext().suspendedFiberStorage;
OutOfOrderMessageException e = new OutOfOrderMessageException(sequence.getId(), message.getMessageNumber());
sfs.resumeFiber(correlationId, e);
} else {
try {
postponedMessageQueue.put(message);
} catch (InterruptedException ex) {
throw LOGGER.logSevereException(new RxRuntimeException(LocalizationMessages.WSRM_1147_ADDING_MSG_TO_QUEUE_INTERRUPTED(), ex));
}
tryDelivery();
}
}