diff options
-rw-r--r-- | actionwebservice/CHANGELOG | 2 | ||||
-rw-r--r-- | actionwebservice/lib/action_web_service/scaffolding.rb | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/actionwebservice/CHANGELOG b/actionwebservice/CHANGELOG index c385244c0a..4b89426908 100644 --- a/actionwebservice/CHANGELOG +++ b/actionwebservice/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* 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] diff --git a/actionwebservice/lib/action_web_service/scaffolding.rb b/actionwebservice/lib/action_web_service/scaffolding.rb index 0b2abaa59e..3befdc87fa 100644 --- a/actionwebservice/lib/action_web_service/scaffolding.rb +++ b/actionwebservice/lib/action_web_service/scaffolding.rb @@ -81,6 +81,9 @@ module ActionWebService new_request = @protocol.encode_action_pack_request(@scaffold_service.name, @scaffold_method.public_name, @method_request_xml) prepare_request(new_request, @scaffold_service.name, @scaffold_method.public_name) @request = new_request + if @scaffold_container.dispatching_mode != :direct + @request.parameters['action'] = @scaffold_service.name + end dispatch_web_service_request @method_response_xml = @response.body method_name, obj = @protocol.decode_response(@method_response_xml) @@ -215,11 +218,13 @@ module ActionWebService module WebServiceModel # :nodoc: class Container # :nodoc: attr :services + attr :dispatching_mode def initialize(real_container) @real_container = real_container + @dispatching_mode = @real_container.class.web_service_dispatching_mode @services = [] - if @real_container.class.web_service_dispatching_mode == :direct + if @dispatching_mode == :direct @services << Service.new(@real_container.controller_name, @real_container) else @real_container.class.web_services.each do |name, obj| |