ByteArrayInputStream bis = cw.getOutputStream().createInputStream();
message.put(RMMessageConstants.SAVED_CONTENT, RewindableInputStream.makeRewindable(bis));
RMManager manager = getManager();
manager.getRetransmissionQueue().start();
manager.getRetransmissionQueue().addUnacknowledged(message);
RMStore store = manager.getStore();
if (null != store) {
// persist message to store
Source s = manager.getSource(message);
SourceSequence ss = s.getSequence(sid);
RMMessage msg = new RMMessage();
msg.setMessageNumber(number);
if (!MessageUtils.isRequestor(message)) {
AddressingProperties maps = RMContextUtils.retrieveMAPs(message, false, true);
if (null != maps && null != maps.getTo()) {
msg.setTo(maps.getTo().getValue());
}
}
msg.setContent(bis);
store.persistOutgoing(ss, msg);
}
} catch (RMException e) {
// ignore
} catch (XMLStreamException e) {