Savon alternatives and similar gems
Based on the "HTTP" category.
Alternatively, view Savon alternatives based on common mentions on social networks and blogs.
-
RESTClient
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions. -
HTTP
HTTP (The Gem! a.k.a. http.rb) - a fast Ruby HTTP client with a chainable API, streaming support, and timeouts
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Savon or a related project?
Popular Comparisons
README
Savon
Heavy metal SOAP client
Documentation | Support | Mailing list | Twitter
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: 'http://service.example.com?wsdl')
# or: create a client with a wsdl provided as a string
client = Savon.client do |config|
wsdl_content = File.read("/path/to/wsdl")
config.wsdl wsdl_content
end
client.operations
# => [:find_user, :list_users]
# call the 'findUser' operation
response = client.call(:find_user, message: { id: 42 })
response.body
# => { find_user_response: { id: 42, name: 'Hoff' } }
For more examples, you should check out the integration tests.
Ruby version support
master
- MRI 2.5, 2.6, 2.7 (same support as Ruby)- 2.12.x - MRI 2.2, 2.3, 2.4, 2.5
- 2.11.x - MRI 2.0, 2.1, 2.2, and 2.3
If you are running MRI 1.8.7, try a 2.6.x release.
Running tests
$ bundle install
$ bundle exec rspec
FAQ
- 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 yourGemfile
.- See https://github.com/savonrb/savon/issues/488 for more info
Documentation
Please be sure to read the documentation.