Heavy metal SOAP client

Savon v2 

A probably incomplete list of changes to help you migrate your application. Let me know if you think there's something missing.


Was removed to better support concurrent usage and allow to use Savon in multiple different configurations in a single project.


Was replaced with Ruby's standard Logger. The custom Logger was removed for simplicity. You can still set the global :log_level and :filters options or active :pretty_print_xml.


Are no longer supported. The implementation was way too complex and still didn't properly solve the problem of serving as a mock-helper for the Savon::Spec gem. If you used them for any other purpose, please open an issue and we may find a better solution.


Was updated to remove global state. All Nori 2.0 options are now encapsulated and can be configured through Savon's options. This allows to use Nori in multiple different configurations in a project that uses Savon.


Was also updated to remove global state. All Gyoku 1.0 options are encapsulated and can be configured through Savon. Instead of Gyoku.convert_symbols_to, please use the global :convert_request_keys_to option.


Was updated to version 2 which comes with support for EM-HTTPRequest.

NTLM authentication

Support will probably be added in the next version. This really needs some good specs and integration tests first.

WSSE signature

Was not covered with specs and has been removed. If anyone uses this and wants to provide a properly tested implementation, please talk to me.


The Hash-like read-access to the response was removed.


Was renamed to Savon::SOAPFault.


Was renamed to Savon::HTTPError.


Was renamed to Savon::InvalidResponseError.