*1.1.2* (April 9th, 2005)
- Rely on Active Record 1.14.2
*1.1.1* (April 6th, 2005)
- Do not convert driver options to strings (4499)
*1.1.0* (March 27th, 2005)
- Make ActiveWebService::Struct type reloadable
- Fix scaffolding action when one of the members of a structural type has
date or time type
- Remove extra index hash when generating scaffold html for parameters of
structural type 4374 [joe@mjg2.com]
- Fix Scaffold Fails with Struct as a Parameter 4363 [joe@mjg2.com]
- Fix soap type registration of multidimensional arrays (4232)
- Fix that marshaler couldn’t handle ActiveRecord models defined in a
different namespace (2392).
- Fix that marshaler couldn’t handle structs with members of
ActiveRecord type (1889).
- Fix that marshaler couldn’t handle nil values for inner structs
(3576).
- Fix that changes to ActiveWebService::API::Base required restarting of the
server (2390).
- Fix scaffolding for signatures with :date, :time and :base64 types (3321,
2769, 2078).
- Fix for incorrect casting of TrueClass/FalseClass instances (2633, 3421).
- Fix for incompatibility problems with SOAP4R 1.5.5 (2553) [Kent Sibilev]
*1.0.0* (December 13th, 2005)
*0.9.4* (December 7th, 2005)
- Update from LGPL to MIT license as per Minero Aoki’s permission.
[Marcel Molina Jr.]
- Rename Version constant to VERSION. 2802 [Marcel Molina Jr.]
- Fix that XML-RPC date/time values did not have well-defined behaviour
(2516, 2534). This fix has one caveat, in that we can’t support
pre-1970 dates from XML-RPC clients.
*0.9.3* (November 7th, 2005)
- Upgraded to Action Pack 1.11.0 and Active Record 1.13.0
*0.9.2* (October 26th, 2005)
- Upgraded to Action Pack 1.10.2 and Active Record 1.12.2
*0.9.1* (October 19th, 2005)
- Upgraded to Action Pack 1.10.1 and Active Record 1.12.1
*0.9.0* (October 16th, 2005)
- Fix invalid XML request generation bug in test_invoke [Ken Barker]
- Add XML-RPC ‘system.multicall’ support 1941 [jbonnar]
- Fix duplicate XSD entries for custom types shared across delegated/layered
services 1729 [Tyler Kovacs]
- Allow multiple invocations in the same test method 1720 [dkhawk]
- Added ActionWebService::API::Base.soap_client and
ActionWebService::API::Base.xmlrpc_client helper methods to create the
internal clients for an API, useful for testing from ./script/console
- ActionWebService now always returns UTF-8 responses.
*0.8.1* (11 July, 2005)
- Fix scaffolding for Action Pack controller changes
*0.8.0* (6 July, 2005)
- Fix WSDL generation by aliasing inherited instead of trying to overwrite
it, or the WSDL action may end up not being defined in the controller
- Add ActionController::Base.wsdl_namespace option, to allow overriding of
the namespace used in generated WSDL and SOAP messages. This is equivalent
to the [WebService(Namespace = "Value")] attribute in .NET.
- Add workaround for Ruby 1.8.3’s SOAP4R changing the return value of
SOAP::Mapping::Registry#find_mapped_soap_class 1414 [Shugo Maeda]
- Fix moduled controller URLs in WSDL, and add unit test to verify the
generated URL 1428
- Fix scaffolding template paths, it was broken on Win32
- Fix that functional testing of :layered controllers failed when using the
SOAP protocol
- Allow invocation filters in :direct controllers as well, as they have
access to more information regarding the web service request than
ActionPack filters
- Add support for a :base64 signature type 1272 [Shugo Maeda]
- Fix that boolean fields were not rendered correctly in scaffolding
- Fix that scaffolding was not working for :delegated dispatching
- Add support for structured types as input parameters to scaffolding, this
should let one test the blogging APIs using scaffolding as well
- Fix that generated WSDL was not using relative_url_root for base URI 1210
[Shugo Maeda]
- Use UTF-8 encoding by default for SOAP responses, but if an encoding is
supplied by caller, use that for the response 1211 [Shugo Maeda, NAKAMURA
Hiroshi]
- If the WSDL was retrieved over HTTPS, use HTTPS URLs in the WSDL too
- Fix that casting change in 0.7.0 would convert nil values to the default
value for the type instead of leaving it as nil
*0.7.1* (20th April, 2005)
- Depend on Active Record 1.10.1 and Action Pack 1.8.1
*0.7.0* (19th April, 2005)
- 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
- Add scaffolding via ActionController::Base.web_service_scaffold for quick
testing using a web browser
- 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.
- 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
- Remove ActiveRecordSoapMarshallable workaround, see 912 for details
- Generalize casting code to be used by both SOAP and XML-RPC (previously, it
was only XML-RPC)
- Ensure return value is properly cast as well, fixes XML-RPC
interoperability with Ecto and possibly other clients
- Include backtraces in 500 error responses for failed request parsing, and
remove "rescue nil" statements obscuring real errors for XML-RPC
- 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
*0.6.2* (27th March, 2005)
- 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