Stay as far away from SOAP as you can possibly get. This post explains why:
A lot of people criticise Ruby's soap4r implementation, but I wonder whether
the perceived problem with soap4r is simply due to the fact that it is a
different WS-stack to the one being communicated with (a complete no-no
in WS-* land).
soap4r is an implementation of a developers interpretation of an incomplete
specification. Like *all* WS-* stacks.
The accepted wisdom in WS-* implementations, is that if you are required
to use a web service from a specific site or vendor, you use the *same*
XML-RPC will work, though depending on how the webservice is supposed to
work (are you dealing with data or are you telling the server to start some
sort of processing?), REST may be your best bet. REST is now natively
supported in Rails as of 1.2.3, and while I don't know about hooking up
XML-RPC, I'm sure there's a plugin or two around to do this.
Well the OP stated that his 2 choices were XML-RPC or SOAP. There wasn't
a REST option (which is far superior), of the 2, pick XML-RPC, Ruby is meant
to have a really good implementation actually.