A system for providing direct message transfer in a transactional middleware machine environment including a first transactional machine and a second transactional machine, comprising: a first message queue associated with a transactional server, wherein the first message queue and the transactional server are in the first transactional machine, and wherein the first message queue is a remote direct memory access, RDMA, queue; an advertized table (112, 113) in the transactional middleware machine environment, wherein the transactional server operates to publish the first message queue in the advertized table; a client server in the second transactional machine which is operable to find the first message queue in the advertized table and establish a connection with the transactional server in the first transactional machine by putting a service request message directly into the first message queue; and a second message queue in the first transactional machine and associated with the transactional server; a third message queue in the second transactional machine and associated with the client server, wherein the second message queue and third message queue are inter-process communication, IPC, queues, the second message queue is associated with a first local bridge process on the first transactional machine, and the third message queue is associated with a second local bridge process on the second transactional machine, wherein the client server is operable to send a service request message to the third message queue, the second local bridge process is operable to forward the service request message to the first local bridge process, and the first local bridge process is operable to forward the service request message to the second message queue, wherein the transactional server uses the second message queue for communication with a local client server in the first transactional machine, and wherein the transactional server listens to both the first message queue and the second message queue at same time in different threads such that the client server is operable to choose to send a service request message to the transactional server using either the first message queue or the second message queue. a first message queue associated with a transactional server, wherein the first message queue and the transactional server are in the first transactional machine, and wherein the first message queue is a remote direct memory access, RDMA, queue; an advertized table (112, 113) in the transactional middleware machine environment, wherein the transactional server operates to publish the first message queue in the advertized table; a client server in the second transactional machine which is operable to find the first message queue in the advertized table and establish a connection with the transactional server in the first transactional machine by putting a service request message directly into the first message queue; and a second message queue in the first transactional machine and associated with the transactional server; a third message queue in the second transactional machine and associated with the client server, wherein the second message queue and third message queue are inter-process communication, IPC, queues, the second message queue is associated with a first local bridge process on the first transactional machine, and the third message queue is associated with a second local bridge process on the second transactional machine, wherein the client server is operable to send a service request message to the third message queue, the second local bridge process is operable to forward the service request message to the first local bridge process, and the first local bridge process is operable to forward the service request message to the second message queue, wherein the transactional server uses the second message queue for communication with a local client server in the first transactional machine, and wherein the transactional server listens to both the first message queue and the second message queue at same time in different threads such that the client server is operable to choose to send a service request message to the transactional server using either the first message queue or the second message queue.