You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Installation
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'
Usage example
require'savon'# create a client for the serviceclient=Savon.client(wsdl: 'https://service.example.com?wsdl')# or: create a client with a wsdl provided as a stringclient=Savon.clientdo |config|
wsdl_content=File.read("/path/to/wsdl")config.wsdlwsdl_contentendclient.operations# => [:find_user, :list_users]# call the 'findUser' operationresponse=client.call(:find_user,message: {id: 42})response.body# => { find_user_response: { id: 42, name: 'Hoff' } }
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.
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 your Gemfile.