I’m feeling particularly stupid now! I’ve followed the discussion in
section 20.2 of the Agile Web Dev book, but can not get it to run.
Somebody please tell me that I’m having an attack of dyslexia and that
this is easy to fix!
Here are my app/apis/product_api.rb and
app/controllers/backend_controller.rb
class ProductApi < ActionWebService::API::Base
api_method :find_all_products,
:returns => [[:int]]
api_method :find_product_by_id,
:expects => [:int],
:returns => [Product]
end
class BackendController < ApplicationController
wsdl_service_name ‘Backend’
web_service_api ProductApi
web_service_scaffold :invoke
def find_all_products
Product.find(:all).map{ |product| product.id }
end
def find_product_by_id(id)
Product.find(id)
end
end
And I end up with the following error:
------------------ERROR-----------------
NameError in #
neither BackendApi or BackendAPI found
RAILS_ROOT: script/…/config/…
Application Trace | Framework Trace | Full Trace
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:76:in
require_web_service_api' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:50:in
web_service_api’
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:87:in
inherited_without_action_controller' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:34:in
inherited’
#{RAILS_ROOT}/app/controllers/backend_controller.rb:1
generated/routing/recognition.rb:3:in eval' generated/routing/recognition.rb:3:in
recognize_path’
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:76:in
require_web_service_api' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:50:in
web_service_api’
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:87:in
inherited_without_action_controller' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:34:in
inherited’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:129:in
load' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:56:in
require_or_load’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:30:in
depend_on' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:74:in
require_dependency’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:87:in
const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:120:in
const_missing’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:237:in
traverse_to_controller' /usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:237:in
traverse_to_controller’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:477:in
recognize!' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb:38:in
dispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:115:in
handle_dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:81:in
service’
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in
run’
/usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in
start_thread’
/usr/lib/ruby/1.8/webrick/server.rb:95:in start' /usr/lib/ruby/1.8/webrick/server.rb:92:in
start’
/usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:in
start’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:67:in
dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/commands/servers/webrick.rb:59 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
require’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:136:in
require' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/commands/server.rb:30 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
require’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:136:in
`require’
script/server:3
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:76:in
require_web_service_api' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:50:in
web_service_api’
/usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/container/action_controller_container.rb:87:in
inherited_without_action_controller' /usr/lib/ruby/gems/1.8/gems/actionwebservice-1.1.0/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:34:in
inherited’
#{RAILS_ROOT}/app/controllers/backend_controller.rb:1
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:129:in
load' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:56:in
require_or_load’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:30:in
depend_on' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:74:in
require_dependency’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:87:in
const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:120:in
const_missing’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:237:in
traverse_to_controller' generated/routing/recognition.rb:3:in
eval’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:237:in
traverse_to_controller' generated/routing/recognition.rb:3:in
recognize_path’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/action_controller/routing.rb:477:in
recognize!' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb:38:in
dispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:115:in
handle_dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:81:in
service’
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in
run’
/usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in
start_thread’
/usr/lib/ruby/1.8/webrick/server.rb:95:in start' /usr/lib/ruby/1.8/webrick/server.rb:92:in
start’
/usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:in
start’
/usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/webrick_server.rb:67:in
dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/commands/servers/webrick.rb:59 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
require’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:136:in
require' /usr/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/commands/server.rb:30 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
require’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.3.0/lib/active_support/dependencies.rb:136:in
`require’
script/server:3
This error occured while loading the following files:
backend_controller.rb
Request
Parameters: None
Show session dump
flash: !map:ActionController::Flash::FlashHash {}
Response
Headers: {“cookie”=>[], “Cache-Control”=>“no-cache”}
------------------ERROR-----------------