Why is the Transacton Request returned from transaction.getRequest() set to null?
The client transaction is only obliged to hold a reference to the Request until the transaction goes to COMPLETED state. After that, the reference to the Request is nulled out to save heap space and ehance scalability of the implementation. If you want to hold a long term reference to the request, then please do this in your application.