Savon

Heavy metal SOAP client

Savon uses a simple adapter based on the HTTPClient gem. You can get access to the HTTPClient instance to configure authentication and other details.

client.http

As Savon resolves imports on instantiation, this might not work for you. So if you need to configure the HTTP client for those imports or if you have any other especially complicated HTTP configurations, you can use your own adapter which only has to support three methods as illustrated by this specification. You can then globally change the adapter to use.

Savon.http_adapter = MyAdapter

or you can pass an instance of your adapter to Savon to only use it per-client.

Savon.new(wsdl_url, MyAdapter.new)