All Versions
73
Latest Version
Avg Release Cycle
129 days
Latest Release
1353 days ago

Changelog History
Page 4

  • v0.9.12 Changes

    June 07, 2012
    • ๐ŸŒฒ Re-added the log method setters to the new config object for backwards compatibility. You should be able to configure the logger as you used to do.

      Savon.configure do |config|
        config.log = false            # disable logging
        config.log_level = :info      # changing the log level
        config.logger = Rails.logger  # using the Rails logger
      end
      
  • v0.9.11 Changes

    June 06, 2012
    • ๐Ÿ”‹ Feature: #264 - Thanks to @hoverlover, Savon and Akami now support signed messages through WSSE.

    • ๐Ÿ›  Fix: #275 - Add namespaces to keys in both the SOAP body hash as well as any keys specified in a :order! Array instead of having to define them manually.

    • ๐Ÿ›  Fix: #257 - Add ability to accept and send multiple cookies.

    • ๐Ÿ‘Œ Improvement: #277 automatically namespace the SOAP input tag. Here's an example from the pull request:

      client.request :authenticate
      

      Note the automatic namespace identifier on the authenticate element, as well as the proper namespace inclusion in the document:

      <env:Envelope
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:tns="http://v1_0.ws.auth.order.example.com/"
          xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      
          <tns:authenticate>
              <tns:user>username</tns:user>
              <tns:password>password</tns:password>
          </tns:authenticate>
      </env:Envelope>
      
  • v0.9.10 Changes

    June 06, 2012
    • ๐Ÿ”‹ Feature: #289 - Allow the SOAP envelope header to be set as a String.

    • ๐Ÿ”‹ Feature: In addition to the global configuration, there's now also one configuration per client. The global config is cloned when a new client is initialized and gets used instead of the global one. In addition, for Savon::Model classes, the config is cloned per class.

      Closes #84 by allowing one logger per client and #270 by allowing to specify error handling per client.

    • ๐Ÿ”‹ Feature: Added an option to pretty print XML in log messages. Closes #256 and #280.

      # global
      Savon.configure do |config|
        config.pretty_print_xml = true
      end
      
      # per client
      client.config.pretty_print_xml = true
      
    • ๐Ÿ”จ Refactoring:

      • Added Savon.client as a shortcut for creating a new Savon::Client
      • Changed Savon::Config from a module to a class.
      • Moved logging to the new Savon::Logger object.
      • Removed the blank? extension from Object.
  • v0.9.9 Changes

    February 17, 2012
    • ๐Ÿ‘Œ Improvement: pull request 255 - Raise an error if fetching a remote WSDL fails. Possible fix for issue 236.

    • ๐Ÿ‘Œ Improvement: The value for elementFormDefault (:unqualified, :qualified) can now be specified when creating a Savon::Client. For example:

      Savon::Client.new do
        wsdl.element_form_default = :unqualified
      end
      
    • ๐Ÿ‘Œ Improvement: pull request 263 - The SOAP action can now be set via a :soap_action key passed to the #request method.

      client.request(:get_user, :soap_action => :test_action)
      
    • ๐Ÿ›  Fix: pull request 265 - Fixes gemspec problems when bundling under JRuby 1.6.5. Also fixes issue 267.

  • v0.9.8 Changes

    February 15, 2012
    • ๐Ÿ”‹ Feature: Savon now ships with Savon::Model. Savon::Model is a lightweight DSL to be used inside your domain models. It's been refactored and is now even more useful than before.

    • ๐Ÿ”‹ Feature: Merged pull request 230 to allow filtering values in logged SOAP request XML messages.

      Savon.configure do |config|
        config.log_filter = ["password"]
      end
      
    • ๐Ÿ”‹ Feature: Added an option to change the default encoding of the XML directive tag (defaults to UTF-8) to fix issue 234.

      client.request(:find_user) do
        soap.encoding = "UTF-16"
        soap.body = { :id => 1 }
      end
      
    • ๐Ÿ‘Œ Improvement: Merged pull request 231 to gracefully handle invalid response bodies by throwing a Savon::SOAP::InvalidResponseError.

    • ๐Ÿ›  Fix: issue 237 - Set the Content-Type and Content-Length headers for every request.

    • ๐Ÿ›  Fix: pull request 250 - The Content-Length header should be the size in bytes.

  • v0.9.7 Changes

    August 25, 2011
    • ๐Ÿ”‹ Feature: Merged pull request 210 by mboeh to add Savon::SOAP::Response#doc and Savon::SOAP::Response#xpath.

    • ๐Ÿ”‹ Feature: Merged pull request 211 by mattkirman to fix issue 202.

    • ๐Ÿ”‹ Feature: You can now pass a block to Savon::SOAP::XML#body and use Builder to create the XML:

      client.request(:find) do
        soap.body do |xml|
          xml.user do
            xml.id 601173
          end
        end
      end
      
    • ๐Ÿ›  Fix: issue 218 - Savon now correctly handles namespaced Array items in a Hash passed to Savon::SOAP::XML#body=.

    • ๐Ÿ›  Fix: Merged pull request 212 to fix savon_spec issue 2.

    • ๐Ÿ‘Œ Improvement: issue 222 - Set the Content-Length header.

  • v0.9.6 Changes

    July 07, 2011
    • ๐Ÿ‘Œ Improvement/Fix: Updated Savon to use the latest version of Wasabi. This should fix issue 155 - Savon can automatically add namespaces to SOAP requests based on the WSDL. Users shouldn't need to do anything differently or even notice whether their WSDL hits this case; the intention is that this will "Just Work" and follow the WSDL. The SOAP details are that if elementFormDefault is specified as qualified, Savon will automatically prepend the correct XML namespaces to the elements in a SOAP request. Thanks to jkingdon for this.

    • ๐Ÿ›  Fix: issue 143 - Updating Wasabi should solve this issue.

  • v0.9.5 Changes

    July 03, 2011
    • ๐Ÿ”จ Refactoring: Extracted WSSE authentication out into the akami gem.
  • v0.9.4 Changes

    July 03, 2011
    • ๐Ÿ”จ Refactoring: Extracted the WSDL parser out into the wasabi gem. This should isolate upcoming improvements to the parser.
  • v0.9.3 Changes

    June 30, 2011
    • ๐Ÿ›  Fix: issue 138 - Savon now supports setting a global SOAP header via Savon.soap_header=.

    • ๐Ÿ›  Fixed the namespace for wsse message timestamps from wsse:Timestamp to wsu:Timestamp as required by the specification.

    • ๐Ÿ”„ Change: Removed support for NTLM authentication until it's stable. If you need it, you can still add the following line to your Gemfile:

      gem "httpi", "0.9.4"
      
    • ๐Ÿ”จ Refactoring:

      • Hash#map_soap_response and some of its helpers are moved to Nori v1.0.0. Along with replacing core extensions with a proper implementation, Nori now contains a number of methods for configuring its default behavior:
        • The option whether to strip namespaces was moved to Nori.strip_namespaces
        • You can disable "advanced typecasting" for SOAP response values
        • And you can configure how SOAP response keys should be converted
      • Savon::SOAP::XML.to_hash, Savon::SOAP::XML.parse and Savon::SOAP::XML.to_array are gone. It wasn't worth keeping them around, because they didn't do much. You can simply parse a SOAP response and translate it to a Savon SOAP response Hash via:

        Nori.parse(xml)[:envelope][:body]
        
      • Savon::SOAP::Response#basic_hash is now Savon::SOAP::Response#hash.