CHANGELOG 5.7 KB
Newer Older
1 2
*0.7.0* (Unreleased)

3 4
* When casting structured types, don't try to send obj.name= unless obj responds to it, causes casting to be less likely to fail for XML-RPC

5 6
* Add scaffolding via ActionController::Base.web_service_scaffold for quick testing using a web browser

7
* ActionWebService::API::Base#api_methods now returns a hash containing ActionWebService::API::Method objects instead of hashes. However, ActionWebService::API::Method defines a #[]() backwards compatibility method so any existing code utilizing this will still work.
L
Leon Breedt 已提交
8 9

* The :layered dispatching mode can now be used with SOAP as well, allowing you to support SOAP and XML-RPC clients for APIs like the metaWeblog API
10

11 12
* Remove ActiveRecordSoapMarshallable workaround, see #912 for details

13 14
* Generalize casting code to be used by both SOAP and XML-RPC (previously, it was only XML-RPC)

15 16
* Ensure return value is properly cast as well, fixes XML-RPC interoperability with Ecto and possibly other clients

17 18
* Include backtraces in 500 error responses for failed request parsing, and remove "rescue nil" statements obscuring real errors for XML-RPC

L
Leon Breedt 已提交
19
* Perform casting of struct members even if the structure is already of the correct type, so that the type we specify for the struct member is always the type of the value seen by the API implementation
20

21

22
*0.6.2* (27th March, 2005)
23 24

* 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.
25 26


27
*0.6.1* (22th March, 2005)
L
Leon Breedt 已提交
28 29 30 31

* 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
32 33 34 35 36 37 38

* 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

39

40
*0.6.0* (7th March, 2005)
41

42 43 44 45
* 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

46 47
* Make the SOAP WS marshaler use #columns to decide which fields to marshal as well, avoids providing attributes brought in by associations
  
48 49
* Add <tt>ActionWebService::API::Base.allow_active_record_expects</tt> option, with a default of false. Setting this to true will allow specifying ActiveRecord::Base model classes in <tt>:expects</tt>. 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.

50 51 52 53 54 55 56 57 58
* 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.
59

60

D
David Heinemeier Hansson 已提交
61
*0.5.0* (24th February, 2005)
62

63
	* lib/action_service/dispatcher*: replace "router" fragments with
L
Leon Breedt 已提交
64 65 66 67 68
	  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.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
	* 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
97
	  with ActionWebService really easy.
98 99 100 101 102 103 104 105 106 107
	* 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