Я нашел ответ на свой вопрос.
Допустим, у меня есть веб-сервис в стиле RPC со следующей подписью:
result SaveProduct(Product product)
Я могу выполнить это с soap4r:
proxy = SOAP::WSDLDriverFactory.new("http://www.example.com/endpoint?wsdl").create_rpc_driver
proxy.SaveProduct(:Product => {:name => 'product one', :cost => '12.50'})
Потратив некоторое время с soap4r, я бы порекомендовал использовать wsdl2ruby.rb для генерации прокси-объектов, если это возможно.