boolean canBegin = rc.transactionHandler.canBegin();
if (canBegin) {
int txTimeout = rc.configuration.getInternalRmFeature().getUserTransactionTimeout();
rc.transactionHandler.begin(txTimeout);
TransactionPropertySet ps = new TransactionPropertySet();
ps.setTransactionOwned(true);
message.getPacket().addSatellite(ps);
} else {
if (LOGGER.isLoggable(Level.WARNING)) {
LOGGER.warning(LocalizationMessages.WSRM_5001_COULD_NOT_BEGIN_TRANSACTION());
}