Hi, I needed to create a fault message in a XML-RPC ws. The only tip I''ve found says to raise a FaultException giving the faultCode and the faultString. But testing with the scaffold I get: NoMethodError in UserController#invoke_submit You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occurred while evaluating nil.collect Here''s the api implementation: class UserController < ApplicationController wsdl_service_name ''User'' web_service_scaffold :invoke def create(email, password, first_name, last_name, phone) if first_name == "admin" raise XMLRPC::FaultException.new(3, "admin is not allowed...") else return 0 end end end In the development log looks like the raised exeption correctly builds the answer: Web Service Response: => #<XMLRPC::FaultException: XMLRPC::FaultException> <?xml version="1.0" ?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i4>3</i4></value></member><member><name>faultString</name><value><string>admin is not allowed...</string></value></member></struct></value></fault></methodResponse> Sending data but then something happens and I have no clue. Thanks, Enrico ps this is the complete development log file: Processing UserController#invoke_submit (for 127.0.0.1 at 2007-02-14 00:21:13) [POST] Session ID: bf63f47951b57e90f2b11afaedb1d08a Parameters: {"commit"=>"Invoke", "protocol"=>"xmlrpc", "service"=>"user", "action"=>"invoke_submit", "method"=>"Create", "controller"=>"user", "method_params"=>{"0"=>"a", "1"=>"a", "2"=>"admin", "3"=>"a", "4"=>"a"}} Web Service Request: Create(email=>"a", password=>"a", first_name=>"admin", last_name=>"a", phone=>"a") Entrypoint: invoke_submit <?xml version="1.0" ?><methodCall><methodName>Create</methodName><params><param><value><string>a</string></value></param><param><value><string>a</string></value></param><param><value><string>admin</string></value></param><param><value><string>a</string></value></param><param><value><string>a</string></value></param></params></methodCall> XMLRPC::FaultException (admin is not allowed...): .//app/controllers/user_controller.rb:8:in `create'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/invocation.rb:141:in `perform_invocation_without_interception'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/invocation.rb:135:in `perform_invocation'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/abstract.rb:42:in `web_service_filtered_invoke'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/abstract.rb:33:in `web_service_direct_invoke_without_controller'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:109:in `web_service_direct_invoke'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/abstract.rb:54:in `web_service_invoke'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/abstract.rb:21:in `invoke_web_service_request'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:55:in `dispatch_web_service_request'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:53:in `dispatch_web_service_request'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/scaffolding.rb:83:in `invoke_submit'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/scaffolding.rb:67:in `invoke_submit'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:1095:in `perform_action_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:632:in `call_filter'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:619:in `perform_action_without_benchmark'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:83:in `perform_action'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:430:in `process_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:624:in `process_without_session_management_support'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/session_management.rb:114:in `process'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:330:in `process'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:41:in `dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:113:in `handle_dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:79:in `service'' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'' /usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'' /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'' /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:63:in `dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/servers/webrick.rb:59 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in `new_constants_in'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/server.rb:39 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in `new_constants_in'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' script/server:3 Web Service Response: => #<XMLRPC::FaultException: XMLRPC::FaultException> <?xml version="1.0" ?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i4>3</i4></value></member><member><name>faultString</name><value><string>admin is not allowed...</string></value></member></struct></value></fault></methodResponse> Sending data NoMethodError (You have a nil object when you didn''t expect it! You might have expected an instance of Array. The error occurred while evaluating nil.collect): /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:139:in `clean_backtrace'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:43:in `log_error'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/deprecation.rb:43:in `silence'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:37:in `log_error'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:25:in `rescue_action'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/scaffolding.rb:158:in `handle_invocation_exception'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/scaffolding.rb:86:in `invoke_submit'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionwebservice-1.2.1/lib/action_web_service/scaffolding.rb:67:in `invoke_submit'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:1095:in `perform_action_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:632:in `call_filter'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:619:in `perform_action_without_benchmark'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/benchmarking.rb:66:in `perform_action_without_rescue'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/rescue.rb:83:in `perform_action'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:430:in `process_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/filters.rb:624:in `process_without_session_management_support'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/session_management.rb:114:in `process'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/base.rb:330:in `process'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:41:in `dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:113:in `handle_dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:79:in `service'' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'' /usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'' /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'' /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start'' /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/webrick_server.rb:63:in `dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/servers/webrick.rb:59 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in `new_constants_in'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/commands/server.rb:39 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:343:in `new_constants_in'' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:496:in `require'' script/server:3 Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.1/lib/action_controller/templates/rescues/layout.rhtml (500 Internal Error) -- "Complete independence does not mean arrogant isolation or a superior disdain for all help." -Mahatma Gandhi --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---