SOAP calls using EventMachine

asynchronous, eventmachine, nonblocking, ruby, soap

Solution

HandSoap can use EventMachine.

Problem

Is there any way to make non-blocking SOAP requests within EventMachine? I'm creating a ruby application which interacts with the google adwords api (which is SOAP based), using the adwords4r gem. The application uses EM to receive messages over a stomp connection, and then processes those messages by making SOAP calls to the adwords api. Obviously I need those calls to be non-blocking, since the processing will be within the reactor thread. One option would be to use EM.defer, but I'd rather not have the overhead of a bunch of threads in a threadpool.

Original source