Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/savonrb/savon
Heavy metal SOAP client
https://github.com/savonrb/savon
ruby soap soap-client
Last synced: 4 days ago
JSON representation
Heavy metal SOAP client
- Host: GitHub
- URL: https://github.com/savonrb/savon
- Owner: savonrb
- License: mit
- Created: 2009-07-02T13:19:34.000Z (over 15 years ago)
- Default Branch: main
- Last Pushed: 2024-10-01T20:42:05.000Z (2 months ago)
- Last Synced: 2024-10-29T12:56:31.224Z (about 1 month ago)
- Topics: ruby, soap, soap-client
- Language: Ruby
- Homepage: https://www.savonrb.com
- Size: 2.84 MB
- Stars: 2,066
- Watchers: 46
- Forks: 616
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ruby-toolbox - Savon - Heavy metal SOAP client (Web Apps, Services & Interaction / SOAP Clients)
- awesome-ruby - Savon - Savon is a SOAP client for the Ruby programming language. (HTTP Clients and tools)
README
# Savon
Heavy metal SOAP client
[Documentation](https://www.rubydoc.info/gems/savon/) | [Support](https://stackoverflow.com/questions/tagged/savon) |
[Mailing list](https://groups.google.com/forum/#!forum/savonrb) | [Twitter](http://twitter.com/savonrb)[![Ruby](https://github.com/savonrb/savon/actions/workflows/ci.yml/badge.svg)](https://github.com/savonrb/savon/actions/workflows/ci.yml)
[![Gem Version](https://badge.fury.io/rb/savon.svg)](http://badge.fury.io/rb/savon)
[![Code Climate](https://codeclimate.com/github/savonrb/savon.svg)](https://codeclimate.com/github/savonrb/savon)
[![Coverage Status](https://coveralls.io/repos/savonrb/savon/badge.svg)](https://coveralls.io/r/savonrb/savon)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](https://www.rubydoc.info/find/gems?q=savon).
## Installation
Savon is available through [Rubygems](http://rubygems.org/gems/savon) and can be installed via:
```
$ gem install savon
```or add it to your Gemfile like this:
```
gem 'savon', '~> 3.0.0'
```## Usage example
``` ruby
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
endclient.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](https://github.com/savonrb/savon/tree/version2/spec/integration).## Upgrading from v2.x to v3.x
See [UPGRADING.md](UPGRADING.md) for more information.
## Ruby version support
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.3If 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
```bash
$ 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`.
- See https://github.com/savonrb/savon/issues/488 for more info## Documentation
Please be sure to [read the documentation](https://www.rubydoc.info/github/savonrb/savon/).