*0.7.0* (Unreleased) * Allow method declarations for direct dispatching to declare parameters as well. We treat an arity of < 0 or > 0 as an indication that we should send through parameters. Closes #939. *0.6.1* (22th March, 2005) * Fix that method response QNames mismatched with that declared in the WSDL, makes SOAP::WSDLDriverFactory work against AWS again * Fix that @request.env was being modified, instead, dup the value gotten from env * Fix XML-RPC example to use :layered mode, so it works again * Support casting '0' or 0 into false, and '1' or 1 into true, when expecting a boolean value * Fix that SOAP fault response fault code values were not QName's #804 *0.6.0* (7th March, 2005) * Add action_controller/test_invoke, used for integrating AWS with the Rails testing infrastructure * Allow passing through options to the SOAP RPC driver for the SOAP client * Make the SOAP WS marshaler use #columns to decide which fields to marshal as well, avoids providing attributes brought in by associations * Add ActionWebService::API::Base.allow_active_record_expects option, with a default of false. Setting this to true will allow specifying ActiveRecord::Base model classes in :expects. API writers should take care to validate the received ActiveRecord model objects when turning it on, and/or have an authentication mechanism in place to reduce the security risk. * Improve error message reporting. Bugs in either AWS or the web service itself will send back a protocol-specific error report message if possible, otherwise, provide as much detail as possible. * Removed type checking of received parameters, and perform casting for XML-RPC if possible, but fallback to the received parameters if casting fails, closes #677 * Refactored SOAP and XML-RPC marshaling and encoding into a small library devoted exclusively to protocol specifics, also cleaned up the SOAP marshaling approach, so that array and custom type marshaling should be a bit faster. * Add namespaced XML-RPC method name support, closes #678 * Replace '::' with '..' in fully qualified type names for marshaling and WSDL. This improves interoperability with .NET, and closes #676. *0.5.0* (24th February, 2005) * lib/action_service/dispatcher*: replace "router" fragments with one file for Action Controllers, moves dispatching work out of the container * lib/*,test/*,examples/*: rename project to ActionWebService. prefix all generic "service" type names with web_. update all using code as well as the RDoc. * lib/action_service/router/wsdl.rb: ensure that #wsdl is defined in the final container class, or the new ActionPack filtering will exclude it * lib/action_service/struct.rb,test/struct_test.rb: create a default #initialize on inherit that accepts a Hash containing the default member values * lib/action_service/api/action_controller.rb: add support and tests for #client_api in controller * test/router_wsdl_test.rb: add tests to ensure declared service names don't contain ':', as ':' causes interoperability issues * lib/*, test/*: rename "interface" concept to "api", and change all related uses to reflect this change. update all uses of Inflector to call the method on String instead. * test/api_test.rb: add test to ensure API definition not instantiatable * lib/action_service/invocation.rb: change @invocation_params to @method_params * lib/*: update RDoc * lib/action_service/struct.rb: update to support base types * lib/action_service/support/signature.rb: support the notion of "base types" in signatures, with well-known unambiguous names such as :int, :bool, etc, which map to the correct Ruby class. accept the same names used by ActiveRecord as well as longer versions of each, as aliases. * examples/*: update for seperate API definition updates * lib/action_service/*, test/*: extensive refactoring: define API methods in a seperate class, and specify it wherever used with 'service_api'. this makes writing a client API for accessing defined API methods with ActionWebService really easy. * lib/action_service/container.rb: fix a bug in default call handling for direct dispatching, and add ActionController filter support for direct dispatching. * test/router_action_controller_test.rb: add tests to ensure ActionController filters are actually called. * test/protocol_soap_test.rb: add more tests for direct dispatching. 0.3.0 * First public release