Savon v0.7.0 Release Notes
Release Date: 2010-01-09 // over 14 years ago-
This version comes with several changes to the public API! โก๏ธ Pay attention to the following list and read the updated Wiki: http://wiki.github.com/savonrb/savon
๐ Changed how
Savon::WSDL
can be disabled. Instead of disabling the WSDL globally/per request via two different methods, you now simply append an exclamation mark (!) to your SOAP call:client.get_all_users!
Make sure you know what you're doing because when the WSDL is disabled, Savon does not know about which SOAP actions are valid and just dispatches everything.The
Net::HTTP
object used bySavon::Request
to retrieve WSDL documents and execute SOAP calls is now public. While this makes the library even more flexible, it also comes with two major changes:- SSL client authentication needs to be defined directly on the
Net::HTTP
object:
client.request.http.client_cert = ...
I added a shortcut method for setting all options through a Hash similar to the previous implementation:
client.request.http.ssl_client_auth :client_cert => ...
- Open and read timeouts also need to be set on the
Net::HTTP
object:
client.request.http.open_timeout = 30 client.request.http.read_timeout = 30
- Please refer to the
Net::HTTP
documentation for more details: http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/index.html
- SSL client authentication needs to be defined directly on the
๐ Thanks to JulianMorrison, Savon now supports HTTP basic authentication:
client.request.http.basic_auth "username", "password"
Julian also added a way to explicitly specify the order of Hash keys and values, so you should now be able to work with services requiring a specific order of input parameters while still using Hash input.
client.find_user { |soap| soap.body = { :name => "Lucy", :id => 666, :@inorder => [:id, :name] } }
Savon::Response#to_hash
now returns the content inside of "soap:Body" instead of trying to go one level deeper and return it's content. The previous implementation only worked when the "soap:Body" element contained a single child. See issue #17.โ Added
Savon::SOAP#namespace
as a shortcut for setting the "xmlns:wsdl" namespace.soap.namespace = "http://example.com"