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 httpclientor add it to yourGemfile.- See #488 for more info
Please be sure to read the documentation.