Heavy metal SOAP client
Documentation | Support | Mailing list | Twitter
If you're reading this on GitHub, note that this README is for the main branch and that features/changes described here might not correspond to your version. You can find the documentation for your release at rubydoc.info.
Savon is available through Rubygems and can be installed via:
$ gem install savon
or add it to your Gemfile like this:
gem 'savon', '~> 3.0.0'
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.
See UPGRADING.md for more information.
Every savon release is tested with contemporary supported versions of ruby. Historical compatibility information:
main
- same support as Ruby- 2.15.x - MRI 3.0, 3.1, 3.2, 3.3
- 2.13.x, 2.14.x - MRI 2.7, 3.0, 3.1
- 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.
Most changes are not backported to older versions of savon, or unsupported ruby versions.
$ 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 yourGemfile
.- See #488 for more info
Please be sure to read the documentation.