== 0.7.2 (2010-01-17) * Exposed the Net::HTTP response (added by Kevin Ingolfsland). Use the "http" accessor (response.http) on your Savon::Response to access the Net::HTTP response object. * Fix for Github issue #21 (savon is stripping ?SOAP off the end of WSDL locations). * Fix for Github issue #22 (REXML::ParseException parsing 401 Unauthorized response body). * Fix for Github issue #19 (Unable to set attribute in name-spaced WSSE password element). * Added support for global header and namespaces. See Github issue #9 (Setting headers and namespaces). == 0.7.1 (2010-01-10) * The Hash of HTTP headers for SOAP calls is now public via Savon::Request#headers. Patch for: http://github.com/rubiii/savon/issues/#issue/8 == 0.7.0 (2010-01-09) 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/rubiii/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 by Savon::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 * 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. For example: 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: http://github.com/rubiii/savon/issues#issue/17 * Added Savon::SOAP#namespace as a shortcut for setting the "xmlns:wsdl" namespace. Usage example: soap.namespace = "http://example.com" == 0.6.8 (2010-01-01) * Improved specifications for various kinds of WSDL documents. * Added support for SOAP endpoints which are different than the WSDL endpoint of a service. * Changed how SOAP actions and inputs are retrieved from the WSDL documents. This might break a few existing implementations, but makes Savon work well with even more services. If this change breaks your implementation, please take a look at the +action+ and +input+ methods of the Savon::SOAP object. One specific problem I know of is working with the createsend WSDL and its namespaced actions. To make it work, call the SOAP action without namespace and specify the input manually: client.get_api_key { |soap| soap.input = "User.GetApiKey" } == 0.6.7 (2009-12-18) * Implemented support for a proxy server. The proxy URI can be set through an optional Hash of options passed to instantiating Savon::Client (Dave Woodward ) * Implemented support for SSL client authentication. Settings can be set through an optional Hash of arguments passed to instantiating Savon::Client (colonhyphenp) * Patch for issue #10 (Problem with operation tags without a namespace). == 0.6.6 (2009-12-14) * Default to use the name of the SOAP action (the method called in a client) in lowerCamelCase for SOAP action and input when Savon::WSDL is disabled. You still need to specify soap.action and maybe soap.input in case your SOAP actions are named any different. == 0.6.5 (2009-12-13) * Added an open_timeout method to Savon::Request. == 0.6.4 (2009-12-13) * Refactored specs to be less unit-like. * Added a getter for the Savon::Request to Savon::Client and a read_timeout setter for HTTP requests. * wsdl.soap_actions now returns an Array of SOAP actions. For the previous "mapping" please use wsdl.operations. * Replaced WSDL document with stream parsing. Benchmarks (1000 SOAP calls): user system total real 0.6.4 72.180000 8.280000 80.460000 (750.799011) 0.6.3 192.900000 19.630000 212.530000 (914.031865) == 0.6.3 (2009-12-11) * Removing 2 ruby deprecation warnings for parenthesized arguments. (Dave Woodward ) * Added global and per request options for disabling Savon::WSDL. Benchmarks (1000 SOAP calls): user system total real WSDL 192.900000 19.630000 212.530000 (914.031865) disabled WSDL 5.680000 1.340000 7.020000 (298.265318) * Improved XPath expressions for parsing the WSDL document. Benchmarks (1000 SOAP calls): user system total real 0.6.3 192.900000 19.630000 212.530000 (914.031865) 0.6.2 574.720000 78.380000 653.100000 (1387.778539) == 0.6.2 (2009-12-06) * Added support for changing the name of the SOAP input node. * Added a CHANGELOG. == 0.6.1 (2009-12-06) * Fixed a problem with WSSE credentials, where every request contained a WSSE authentication header. == 0.6.0 (2009-12-06) * method_missing now yields the SOAP and WSSE objects to a given block. * The response_process (which previously was a block passed to method_missing) was replaced by Savon::Response. * Improved SOAP action handling (another problem that came up with issue #1). == 0.5.3 (2009-11-30) * Patch for issue #2 (NoMethodError: undefined method `invalid!' for Savon::WSDL) == 0.5.2 (2009-11-30) * Patch for issue #1 (Calls fail if api methods have periods in them) == 0.5.1 (2009-11-29) * Optimized default response process. * Added WSSE settings via defaults. * Added SOAP fault and HTTP error handling. * Improved documentation * Added specs == 0.5.0 (2009-11-29) * Complete rewrite.