@Override
 protected ClientMessage call() throws Exception {
   ClientEndpoint endpoint = getEndpoint();
   XAService xaService = getService(getServiceName());
   TransactionContext context =
       xaService.newXATransactionContext(parameters.xid, (int) parameters.timeout);
   TransactionAccessor.getTransaction(context).begin();
   endpoint.setTransactionContext(context);
   return TransactionCreateResultParameters.encode(context.getTxnId());
 }