Heavy metal SOAP client

Documentation | RDoc | Mailing list | Twitter

Build Status Gem Version Code Climate Coverage Status

Version 2

Savon version 2 is available through Rubygems and can be installed via:

$ gem install savon

or add it to your Gemfile like this:

gem 'savon', '~> 2.12.0'

Usage example

require 'savon'

# create a client for the service
client = Savon.client(wsdl: '')

# => [:find_user, :list_users]

# call the 'findUser' operation
response =, message: { id: 42 })

# => { find_user_response: { id: 42, name: 'Hoff' } }

For more examples, you should check out the integration tests.

Ruby version support

  • 2.12.x - MRI 2.2, 2.3, 2.4
  • 2.11.x - MRI 2.0, 2.1, 2.2, and 2.3

If you are running MRI 1.8.7, try the 2.6.x branch.

Running tests

$ bundle install
$ bundle exec rspec


  • URI::InvalidURIError -- if you see this error, then it is likely that the http client you are using cannot parse the URI for your WSDL. Try gem install httpclient or add it to your Gemfile.

Give back

If you're using Savon and you or your company is making money from it, then please consider donating via Gittip so that I can continue to improve it.



Please make sure to read the documentation.

And if you find any problems with it or if you think something's missing, feel free to help out and improve the documentation.

Donate icon from the Noun Project.