Using the web service example from the Agile Web Development with Rails
book (first edition, chapter 20, p 413) results in a date parse error
when the Person object is returned from the call find_product_by_id. I
am using Rails 1.16 with SQL Server 2000. Has anyone experienced similar
behaviour?
regards,
C.
class ProductApi < ActionWebService::API::Base
api_method :find_all_products,
:returns => [[:int]]
api_method :find_product_by_id,
:expects => [:int],
:returns => [:date]
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 = Product.find(id)
end
end
{{{
ArgumentError in BackendController#invoke_submit
3 elements of civil date are necessary
RAILS_ROOT: ./script/../config/..
Application Trace | Framework Trace | Full Trace
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:650:in `new_with_hash''
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:695:in `parse''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:103:in
`cast_base_type''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:62:in
`cast''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:38:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:25:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/api.rb:193:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:182:in
`web_service_create_response''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:59:in
`web_service_invoke''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:22:in
`invoke_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:53:in
`dispatch_web_service_request''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:51:in
`dispatch_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:83:in
`invoke_submit''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:67:in
`invoke_submit''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:941:in
`perform_action_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in
`perform_action_without_benchmark''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in
`perform_action''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in
`process_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in
`process_without_session_management_support''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in
`process''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:115:in
`handle_dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:173:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:162:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:67:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
script/server:3
-e:4
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:650:in `new_with_hash''
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:695:in `parse''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:103:in
`cast_base_type''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:62:in
`cast''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:38:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:25:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/api.rb:193:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:182:in
`web_service_create_response''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:59:in
`web_service_invoke''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:22:in
`invoke_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:53:in
`dispatch_web_service_request''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:51:in
`dispatch_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:83:in
`invoke_submit''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:67:in
`invoke_submit''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:941:in
`perform_action_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in
`perform_action_without_benchmark''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in
`perform_action''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in
`process_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in
`process_without_session_management_support''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in
`process''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:115:in
`handle_dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:173:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:162:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:67:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
script/server:3
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:650:in `new_with_hash''
c:/Program Files/Ruby/lib/ruby/1.8/date.rb:695:in `parse''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:103:in
`cast_base_type''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:62:in
`cast''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:38:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/casting.rb:25:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/api.rb:193:in
`cast_returns''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:182:in
`web_service_create_response''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:59:in
`web_service_invoke''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/abstract.rb:22:in
`invoke_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:53:in
`dispatch_web_service_request''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:51:in
`dispatch_web_service_request''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:83:in
`invoke_submit''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.1.6/lib/action_web_service/scaffolding.rb:67:in
`invoke_submit''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:941:in
`perform_action_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:368:in
`perform_action_without_benchmark''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program Files/Ruby/lib/ruby/1.8/benchmark.rb:293:in `measure''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/benchmarking.rb:69:in
`perform_action_without_rescue''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/rescue.rb:82:in
`perform_action''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/base.rb:408:in
`process_without_filters''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/filters.rb:377:in
`process_without_session_management_support''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:117:in
`process''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:115:in
`handle_dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:81:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in
`service''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:173:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:162:in
`start_thread''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:95:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:92:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:23:in `start''
c:/Program Files/Ruby/lib/ruby/1.8/webrick/server.rb:82:in `start''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:67:in
`dispatch''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30
c:/Program
Files/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
c:/Program
Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in
`require''
script/server:3
-e:4
Request
Parameters: {"commit"=>"Invoke",
"protocol"=>"soap",
"service"=>"backend",
"method"=>"FindProductById",
"method_params"=>{"0"=>"1"}}
Show session dump
---
Response
Headers: {"cookie"=>[],
"Cache-Control"=>"no-cache"}
}}}
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
Kent Sibilev
2006-Sep-05 17:48 UTC
Re: date parse error with actionwebservice and sql server 2000
On 9/5/06, Cathal <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > > Using the web service example from the Agile Web Development with Rails > book (first edition, chapter 20, p 413) results in a date parse error > when the Person object is returned from the call find_product_by_id. I > am using Rails 1.16 with SQL Server 2000. Has anyone experienced similar > behaviour? > > regards, > C. > > class ProductApi < ActionWebService::API::Base > > api_method :find_all_products, > :returns => [[:int]] > > api_method :find_product_by_id, > :expects => [:int], > :returns => [:date] > > 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 = Product.find(id) > end > end > >find_product_by_id method signature specifies that this method returns Date, but your implementation returns an instance of Product. -- Kent --- http://www.datanoise.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---