I have defined a web service to return information from a database as follows.
class BackendApi < ActionWebService::API::Base
api_method :find_all_vobs,
:returns => [[:int]]
api_method :find_vob_by_id,
:expects => [:int],
:returns => [Vob]
class BackendController < ApplicationController
wsdl_service_name ''Backend''
web_service_scaffold :invoke
def find_all_vobs
Vob.find(:all).map{ |v| v.id }
end
def find_vob_by_id(id)
Vob.find(id)
end
end
mysql> describe vobs;
+-------------------------+---------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default
| Extra |
+-------------------------+---------------+------+-----+---------------------+----------------+
| id | int(11) | | PRI | NULL
| auto_increment |
| replica_family_uuid | varchar(100) | | |
| |
| created_by | varchar(100) | | |
| |
| created_on | datetime | | | 0000-00-00
00:00:00 | |
| server_host | varchar(50) | | |
| |
| tag | varchar(50) | | |
| |
| replica_name | varchar(150) | | |
| |
| master_replica | varchar(150) | | |
| |
| region | varchar(50) | | |
| |
| owner | varchar(20) | | |
| |
| primary_group | varchar(20) | | |
| |
| feature_level | varchar(5) | | |
| |
| database_schema_version | varchar(5) | | |
| |
| access | varchar(10) | | |
| |
| identity_preserving | tinyint(1) | | | 0
| |
| permission_preserving | tinyint(1) | | | 0
| |
| replica_names | text | | |
| |
| global_path | varchar(150) | | |
| |
| space_used | decimal(10,2) | | | 0.00
| |
+-------------------------+---------------+------+-----+---------------------+----------------+
19 rows in set (0.00 sec)
When I connect via http://localhost:3000/backend/invoke (using the web
service scaffolding) FindAllVobs works as expected, but FindVobById
returns an error as seen below. The date that "parse" is puking on in
the database is set to ''2001-10-15 10:41:41''.
ArgumentError in Backend#invoke_submit
invalid date
c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash''
c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:103:in
`cast_base_type''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:62:in
`cast''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:123:in
`cast_to_structured_type''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:121:in
`each_member''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in
`each''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in
`each_member''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:121:in
`cast_to_structured_type''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:60:in
`cast''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:38:in
`cast_returns''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:25:in
`cast_returns''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/api.rb:193:in
`cast_returns''
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/dispatcher/abstract.rb:182:in
`web_service_create_response''
.
.
.
The book Agile Web Development with Rails seems to indicate that this
should just work the way I have set it up. Does anyone have any
suggestions as to what I should be looking for to solve this? I''m
running the Rails 1.1 candidate from the gems on Windows XP with Ruby
1.8.2.
Thanks,
Justin
Have you tried to upgrade your Rails to 1.1? Kent On 3/28/06, Justin Johnson <justinj@justinj.org> wrote:> > I have defined a web service to return information from a database as > follows. > > class BackendApi < ActionWebService::API::Base > api_method :find_all_vobs, > :returns => [[:int]] > > api_method :find_vob_by_id, > :expects => [:int], > :returns => [Vob] > > class BackendController < ApplicationController > wsdl_service_name ''Backend'' > web_service_scaffold :invoke > > def find_all_vobs > Vob.find(:all).map{ |v| v.id } > end > > def find_vob_by_id(id) > Vob.find(id) > end > end > > > mysql> describe vobs; > > +-------------------------+---------------+------+-----+---------------------+----------------+ > | Field | Type | Null | Key | Default > | Extra | > > +-------------------------+---------------+------+-----+---------------------+----------------+ > | id | int(11) | | PRI | NULL > | auto_increment | > | replica_family_uuid | varchar(100) | | | > | | > | created_by | varchar(100) | | | > | | > | created_on | datetime | | | 0000-00-00 > 00:00:00 | | > | server_host | varchar(50) | | | > | | > | tag | varchar(50) | | | > | | > | replica_name | varchar(150) | | | > | | > | master_replica | varchar(150) | | | > | | > | region | varchar(50) | | | > | | > | owner | varchar(20) | | | > | | > | primary_group | varchar(20) | | | > | | > | feature_level | varchar(5) | | | > | | > | database_schema_version | varchar(5) | | | > | | > | access | varchar(10) | | | > | | > | identity_preserving | tinyint(1) | | | 0 > | | > | permission_preserving | tinyint(1) | | | 0 > | | > | replica_names | text | | | > | | > | global_path | varchar(150) | | | > | | > | space_used | decimal(10,2) | | | 0.00 > | | > > +-------------------------+---------------+------+-----+---------------------+----------------+ > 19 rows in set (0.00 sec) > > When I connect via http://localhost:3000/backend/invoke (using the web > service scaffolding) FindAllVobs works as expected, but FindVobById > returns an error as seen below. The date that "parse" is puking on in > the database is set to ''2001-10-15 10:41:41''. > > > ArgumentError in Backend#invoke_submit > invalid date > > c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash'' > c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:103:in > `cast_base_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:62:in > `cast'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:123:in > `cast_to_structured_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:121:in > `each_member'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/support/signature_types.rb:205:in > `each'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/support/signature_types.rb:205:in > `each_member'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:121:in > `cast_to_structured_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:60:in > `cast'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:38:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:25:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/api.rb:193:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/dispatcher/abstract.rb:182:in > `web_service_create_response'' > . > . > . > > > The book Agile Web Development with Rails seems to indicate that this > should just work the way I have set it up. Does anyone have any > suggestions as to what I should be looking for to solve this? I''m > running the Rails 1.1 candidate from the gems on Windows XP with Ruby > 1.8.2. > > Thanks, > Justin > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >-- Kent --- http://www.datanoise.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060328/aa97ed01/attachment.html
I updated to Rails 1.1 and Ruby 1.8.4 preview 3 (latest one click installer for Windows) and now I get the following error. It appears to be the same error but more informative. ArgumentError in Backend#invoke_submit 3 elements of civil date are necessary On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote:> Have you tried to upgrade your Rails to 1.1? > > Kent > > > On 3/28/06, Justin Johnson <justinj@justinj.org> wrote: > > > I have defined a web service to return information from a database as > follows. > > class BackendApi < ActionWebService::API::Base > api_method :find_all_vobs, > :returns => [[:int]] > > api_method :find_vob_by_id, > :expects => [:int], > :returns => [Vob] > > class BackendController < ApplicationController > wsdl_service_name ''Backend'' > web_service_scaffold :invoke > > def find_all_vobs > Vob.find(:all).map{ |v| v.id } > end > > def find_vob_by_id(id) > Vob.find(id) > end > end > > > mysql> describe vobs; > +-------------------------+---------------+------+-----+---------------------+----------------+ > | Field | Type | Null | Key | Default > | Extra | > +-------------------------+---------------+------+-----+---------------------+----------------+ > | id | int(11) | | PRI | NULL > | auto_increment | > | replica_family_uuid | varchar(100) | | | > | | > | created_by | varchar(100) | | | > | | > | created_on | datetime | | | 0000-00-00 > 00:00:00 | | > | server_host | varchar(50) | | | > | | > | tag | varchar(50) | | | > | | > | replica_name | varchar(150) | | | > | | > | master_replica | varchar(150) | | | > | | > | region | varchar(50) | | | > | | > | owner | varchar(20) | | | > | | > | primary_group | varchar(20) | | | > | | > | feature_level | varchar(5) | | | > | | > | database_schema_version | varchar(5) | | | > | | > | access | varchar(10) | | | > | | > | identity_preserving | tinyint(1) | | | 0 > | | > | permission_preserving | tinyint(1) | | | 0 > | | > | replica_names | text | | | > | | > | global_path | varchar(150) | | | > | | > | space_used | decimal(10,2) | | | 0.00 > | | > +-------------------------+---------------+------+-----+---------------------+----------------+ > 19 rows in set (0.00 sec) > > When I connect via http://localhost:3000/backend/invoke > (using the web > service scaffolding) FindAllVobs works as expected, but FindVobById > returns an error as seen below. The date that "parse" is puking on in > the database is set to ''2001-10-15 10:41:41''. > > > ArgumentError in Backend#invoke_submit > invalid date > > c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash'' > c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/casting.rb:103:in > `cast_base_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:62:in > `cast'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/casting.rb:123:in > `cast_to_structured_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:121:in > `each_member'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in > `each'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in > `each_member'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/casting.rb:121:in > `cast_to_structured_type'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:60:in > `cast'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/casting.rb:38:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:25:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > 1.0.0.4008/lib/action_web_service/api.rb:193:in > `cast_returns'' > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/dispatcher/abstract.rb:182:in > `web_service_create_response'' > . > . > . > > > The book Agile Web Development with Rails seems to indicate that this > should just work the way I have set it up. Does anyone have any > suggestions as to what I should be looking for to solve this? I''m > running the Rails 1.1 candidate from the gems on Windows XP with Ruby > 1.8.2. > > Thanks, > Justin > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > > > -- > Kent > --- > http://www.datanoise.com > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >
I''ve just noticed the default value for your created_on column. It all
comes to:
$ irb
irb(main):001:0> require ''date''
=> true
irb(main):002:0> Date.parse(''0000-00-00 00:00:00'')
ArgumentError: invalid date
from /usr/local/lib/ruby/1.8/date.rb:591:in `civil''
from /usr/local/lib/ruby/1.8/date.rb:652:in `new_with_hash''
from /usr/local/lib/ruby/1.8/date.rb:695:in `parse''
from (irb):2
from :0
irb(main):003:0>
Kent.
On 3/28/06, Justin Johnson <justinj@justinj.org>
wrote:> I updated to Rails 1.1 and Ruby 1.8.4 preview 3 (latest one click
> installer for Windows) and now I get the following error. It appears
> to be the same error but more informative.
>
> ArgumentError in Backend#invoke_submit
> 3 elements of civil date are necessary
>
>
> On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote:
> > Have you tried to upgrade your Rails to 1.1?
> >
> > Kent
> >
> >
> > On 3/28/06, Justin Johnson <justinj@justinj.org> wrote:
> > >
> > I have defined a web service to return information from a database as
> > follows.
> >
> > class BackendApi < ActionWebService::API::Base
> > api_method :find_all_vobs,
> > :returns => [[:int]]
> >
> > api_method :find_vob_by_id,
> > :expects => [:int],
> > :returns => [Vob]
> >
> > class BackendController < ApplicationController
> > wsdl_service_name ''Backend''
> > web_service_scaffold :invoke
> >
> > def find_all_vobs
> > Vob.find(:all).map{ |v| v.id }
> > end
> >
> > def find_vob_by_id(id)
> > Vob.find(id)
> > end
> > end
> >
> >
> > mysql> describe vobs;
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> > | Field | Type | Null | Key | Default
> > | Extra |
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> > | id | int(11) | | PRI | NULL
> > | auto_increment |
> > | replica_family_uuid | varchar(100) | | |
> > | |
> > | created_by | varchar(100) | | |
> > | |
> > | created_on | datetime | | | 0000-00-00
> > 00:00:00 | |
> > | server_host | varchar(50) | | |
> > | |
> > | tag | varchar(50) | | |
> > | |
> > | replica_name | varchar(150) | | |
> > | |
> > | master_replica | varchar(150) | | |
> > | |
> > | region | varchar(50) | | |
> > | |
> > | owner | varchar(20) | | |
> > | |
> > | primary_group | varchar(20) | | |
> > | |
> > | feature_level | varchar(5) | | |
> > | |
> > | database_schema_version | varchar(5) | | |
> > | |
> > | access | varchar(10) | | |
> > | |
> > | identity_preserving | tinyint(1) | | | 0
> > | |
> > | permission_preserving | tinyint(1) | | | 0
> > | |
> > | replica_names | text | | |
> > | |
> > | global_path | varchar(150) | | |
> > | |
> > | space_used | decimal(10,2) | | | 0.00
> > | |
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> > 19 rows in set (0.00 sec)
> >
> > When I connect via http://localhost:3000/backend/invoke
> > (using the web
> > service scaffolding) FindAllVobs works as expected, but FindVobById
> > returns an error as seen below. The date that "parse" is
puking on in
> > the database is set to ''2001-10-15 10:41:41''.
> >
> >
> > ArgumentError in Backend#invoke_submit
> > invalid date
> >
> > c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash''
> > c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/casting.rb:103:in
> > `cast_base_type''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:62:in
> > `cast''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/casting.rb:123:in
> > `cast_to_structured_type''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:121:in
> > `each_member''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in
> > `each''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in
> > `each_member''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/casting.rb:121:in
> > `cast_to_structured_type''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:60:in
> > `cast''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/casting.rb:38:in
> > `cast_returns''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/casting.rb:25:in
> > `cast_returns''
> > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > 1.0.0.4008/lib/action_web_service/api.rb:193:in
> > `cast_returns''
> >
c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008/lib/action_web_service/dispatcher/abstract.rb:182:in
> > `web_service_create_response''
> > .
> > .
> > .
> >
> >
> > The book Agile Web Development with Rails seems to indicate that this
> > should just work the way I have set it up. Does anyone have any
> > suggestions as to what I should be looking for to solve this?
I''m
> > running the Rails 1.1 candidate from the gems on Windows XP with Ruby
> > 1.8.2.
> >
> > Thanks,
> > Justin
> >
> > _______________________________________________
> > Rails mailing list
> > Rails@lists.rubyonrails.org
> > http://lists.rubyonrails.org/mailman/listinfo/rails
> >
> >
> >
> >
> >
> > --
> > Kent
> > ---
> > http://www.datanoise.com
> > _______________________________________________
> > Rails mailing list
> > Rails@lists.rubyonrails.org
> > http://lists.rubyonrails.org/mailman/listinfo/rails
> >
> >
> >
>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
>
--
Kent
---
http://www.datanoise.com
self._parse in date/format.rb starting on line 250 doesn''t match the year for some reason, leaving elem[:year] set to nil. Then self.new_with_hashfails at line 1213 of date.rb because year (which it extracted from elem[:year]) is nil. On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote:> > I''ve just noticed the default value for your created_on column. It all > comes to: > > $ irb > irb(main):001:0> require ''date'' > => true > irb(main):002:0> Date.parse(''0000-00-00 00:00:00'') > ArgumentError: invalid date > from /usr/local/lib/ruby/1.8/date.rb:591:in `civil'' > from /usr/local/lib/ruby/1.8/date.rb:652:in `new_with_hash'' > from /usr/local/lib/ruby/1.8/date.rb:695:in `parse'' > from (irb):2 > from :0 > irb(main):003:0> > > Kent. > > On 3/28/06, Justin Johnson <justinj@justinj.org> wrote: > > I updated to Rails 1.1 and Ruby 1.8.4 preview 3 (latest one click > > installer for Windows) and now I get the following error. It appears > > to be the same error but more informative. > > > > ArgumentError in Backend#invoke_submit > > 3 elements of civil date are necessary > > > > > > On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote: > > > Have you tried to upgrade your Rails to 1.1? > > > > > > Kent > > > > > > > > > On 3/28/06, Justin Johnson <justinj@justinj.org> wrote: > > > > > > > I have defined a web service to return information from a database as > > > follows. > > > > > > class BackendApi < ActionWebService::API::Base > > > api_method :find_all_vobs, > > > :returns => [[:int]] > > > > > > api_method :find_vob_by_id, > > > :expects => [:int], > > > :returns => [Vob] > > > > > > class BackendController < ApplicationController > > > wsdl_service_name ''Backend'' > > > web_service_scaffold :invoke > > > > > > def find_all_vobs > > > Vob.find(:all).map{ |v| v.id } > > > end > > > > > > def find_vob_by_id(id) > > > Vob.find(id) > > > end > > > end > > > > > > > > > mysql> describe vobs; > > > > +-------------------------+---------------+------+-----+---------------------+----------------+ > > > | Field | Type | Null | Key | Default > > > | Extra | > > > > +-------------------------+---------------+------+-----+---------------------+----------------+ > > > | id | int(11) | | PRI | NULL > > > | auto_increment | > > > | replica_family_uuid | varchar(100) | | | > > > | | > > > | created_by | varchar(100) | | | > > > | | > > > | created_on | datetime | | | 0000-00-00 > > > 00:00:00 | | > > > | server_host | varchar(50) | | | > > > | | > > > | tag | varchar(50) | | | > > > | | > > > | replica_name | varchar(150) | | | > > > | | > > > | master_replica | varchar(150) | | | > > > | | > > > | region | varchar(50) | | | > > > | | > > > | owner | varchar(20) | | | > > > | | > > > | primary_group | varchar(20) | | | > > > | | > > > | feature_level | varchar(5) | | | > > > | | > > > | database_schema_version | varchar(5) | | | > > > | | > > > | access | varchar(10) | | | > > > | | > > > | identity_preserving | tinyint(1) | | | 0 > > > | | > > > | permission_preserving | tinyint(1) | | | 0 > > > | | > > > | replica_names | text | | | > > > | | > > > | global_path | varchar(150) | | | > > > | | > > > | space_used | decimal(10,2) | | | 0.00 > > > | | > > > > +-------------------------+---------------+------+-----+---------------------+----------------+ > > > 19 rows in set (0.00 sec) > > > > > > When I connect via http://localhost:3000/backend/invoke > > > (using the web > > > service scaffolding) FindAllVobs works as expected, but FindVobById > > > returns an error as seen below. The date that "parse" is puking on in > > > the database is set to ''2001-10-15 10:41:41''. > > > > > > > > > ArgumentError in Backend#invoke_submit > > > invalid date > > > > > > c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash'' > > > c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/casting.rb:103:in > > > `cast_base_type'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:62:in > > > `cast'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/casting.rb:123:in > > > `cast_to_structured_type'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:121:in > > > `each_member'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/support/signature_types.rb:205:in > > > `each'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/support/signature_types.rb:205:in > > > `each_member'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/casting.rb:121:in > > > `cast_to_structured_type'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:60:in > > > `cast'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/casting.rb:38:in > > > `cast_returns'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/casting.rb:25:in > > > `cast_returns'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- > > > 1.0.0.4008/lib/action_web_service/api.rb:193:in > > > `cast_returns'' > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008 > /lib/action_web_service/dispatcher/abstract.rb:182:in > > > `web_service_create_response'' > > > . > > > . > > > . > > > > > > > > > The book Agile Web Development with Rails seems to indicate that this > > > should just work the way I have set it up. Does anyone have any > > > suggestions as to what I should be looking for to solve this? I''m > > > running the Rails 1.1 candidate from the gems on Windows XP with Ruby > > > 1.8.2. > > > > > > Thanks, > > > Justin > > > > > > _______________________________________________ > > > Rails mailing list > > > Rails@lists.rubyonrails.org > > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > > > > > > > > > > > > > > > -- > > > Kent > > > --- > > > http://www.datanoise.com > > > _______________________________________________ > > > Rails mailing list > > > Rails@lists.rubyonrails.org > > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > > > > > > > > > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > > > > > > -- > Kent > --- > http://www.datanoise.com > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060328/0ac2ff3b/attachment-0001.html
Can someone tell me if the following works for you? This is what is
happening in cast_base_type in
actionwebservice-1.1.0\lib\action_web_service\casting.rb line 105.
C:\>irb
irb(main):001:0> require ''date''
=> true
irb(main):002:0> Time.now
=> Wed Mar 29 12:16:09 Central Standard Time 2006
irb(main):003:0> DateTime.parse Time.now.to_s
ArgumentError: 3 elements of civil date are necessary
from c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash''
from c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse''
from (irb):3
irb(main):004:0>
On 3/28/06, Justin Johnson <justinj@justinj.org>
wrote:>
> self._parse in date/format.rb starting on line 250 doesn''t match
the year
> for some reason, leaving elem[:year] set to nil. Then
self.new_with_hashfails at line 1213 of
> date.rb because year (which it extracted from elem[:year]) is nil.
>
> On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote:
> >
> > I''ve just noticed the default value for your created_on
column. It all
> > comes to:
> >
> > $ irb
> > irb(main):001:0> require ''date''
> > => true
> > irb(main):002:0> Date.parse(''0000-00-00
00:00:00'')
> > ArgumentError: invalid date
> > from /usr/local/lib/ruby/1.8/date.rb:591:in `civil''
> > from /usr/local/lib/ruby/1.8/date.rb:652:in
`new_with_hash''
> > from /usr/local/lib/ruby/1.8/date.rb:695:in `parse''
> > from (irb):2
> > from :0
> > irb(main):003:0>
> >
> > Kent.
> >
> > On 3/28/06, Justin Johnson <justinj@justinj.org > wrote:
> > > I updated to Rails 1.1 and Ruby 1.8.4 preview 3 (latest one click
> > > installer for Windows) and now I get the following error. It
appears
> > > to be the same error but more informative.
> > >
> > > ArgumentError in Backend#invoke_submit
> > > 3 elements of civil date are necessary
> > >
> > >
> > > On 3/28/06, Kent Sibilev <ksruby@gmail.com> wrote:
> > > > Have you tried to upgrade your Rails to 1.1?
> > > >
> > > > Kent
> > > >
> > > >
> > > > On 3/28/06, Justin Johnson <justinj@justinj.org>
wrote:
> > > > >
> > > > I have defined a web service to return information from a
database
> > as
> > > > follows.
> > > >
> > > > class BackendApi < ActionWebService::API::Base
> > > > api_method :find_all_vobs,
> > > > :returns => [[:int]]
> > > >
> > > > api_method :find_vob_by_id,
> > > > :expects => [:int],
> > > > :returns => [Vob]
> > > >
> > > > class BackendController < ApplicationController
> > > > wsdl_service_name ''Backend''
> > > > web_service_scaffold :invoke
> > > >
> > > > def find_all_vobs
> > > > Vob.find(:all).map{ |v| v.id }
> > > > end
> > > >
> > > > def find_vob_by_id(id)
> > > > Vob.find(id)
> > > > end
> > > > end
> > > >
> > > >
> > > > mysql> describe vobs;
> > > >
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> >
> > > > | Field | Type | Null | Key |
Default
> > > > | Extra |
> > > >
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> >
> > > > | id | int(11) | | PRI |
NULL
> > > > | auto_increment |
> > > > | replica_family_uuid | varchar(100) | | |
> > > > | |
> > > > | created_by | varchar(100) | | |
> > > > | |
> > > > | created_on | datetime | | |
0000-00-00
> > > > 00:00:00 | |
> > > > | server_host | varchar(50) | | |
> > > > | |
> > > > | tag | varchar(50) | | |
> > > > | |
> > > > | replica_name | varchar(150) | | |
> > > > | |
> > > > | master_replica | varchar(150) | | |
> > > > | |
> > > > | region | varchar(50) | | |
> > > > | |
> > > > | owner | varchar(20) | | |
> > > > | |
> > > > | primary_group | varchar(20) | | |
> > > > | |
> > > > | feature_level | varchar(5) | | |
> > > > | |
> > > > | database_schema_version | varchar(5) | | |
> > > > | |
> > > > | access | varchar(10) | | |
> > > > | |
> > > > | identity_preserving | tinyint(1) | | | 0
> > > > | |
> > > > | permission_preserving | tinyint(1) | | | 0
> > > > | |
> > > > | replica_names | text | | |
> > > > | |
> > > > | global_path | varchar(150) | | |
> > > > | |
> > > > | space_used | decimal(10,2) | | |
0.00
> > > > | |
> > > >
> >
+-------------------------+---------------+------+-----+---------------------+----------------+
> > > > 19 rows in set (0.00 sec)
> > > >
> > > > When I connect via http://localhost:3000/backend/invoke
> > > > (using the web
> > > > service scaffolding) FindAllVobs works as expected, but
FindVobById
> > > > returns an error as seen below. The date that
"parse" is puking on
> > in
> > > > the database is set to ''2001-10-15
10:41:41''.
> > > >
> > > >
> > > > ArgumentError in Backend#invoke_submit
> > > > invalid date
> > > >
> > > > c:/ruby/lib/ruby/1.8/date.rb:1214:in
`new_with_hash''
> > > > c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008/lib/action_web_service/casting.rb:103:in
> > > > `cast_base_type''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- 1.0.0.4008
> > /lib/action_web_service/casting.rb:62:in
> > > > `cast''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008/lib/action_web_service/casting.rb:123:in
> > > > `cast_to_structured_type''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008
> > /lib/action_web_service/casting.rb:121:in
> > > > `each_member''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008
/lib/action_web_service/support/signature_types.rb:205:in
> > > > `each''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008
> > /lib/action_web_service/support/signature_types.rb:205:in
> > > > `each_member''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008/lib/action_web_service/casting.rb:121:in
> > > > `cast_to_structured_type''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice- 1.0.0.4008
> > /lib/action_web_service/casting.rb:60:in
> > > > `cast''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008/lib/action_web_service/casting.rb:38:in
> > > > `cast_returns''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008
> > /lib/action_web_service/casting.rb:25:in
> > > > `cast_returns''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-
> > > > 1.0.0.4008 /lib/action_web_service/api.rb:193:in
> > > > `cast_returns''
> > > > c:/ruby/lib/ruby/gems/1.8/gems/actionwebservice-1.0.0.4008
> > /lib/action_web_service/dispatcher/abstract.rb:182:in
> > > > `web_service_create_response''
> > > > .
> > > > .
> > > > .
> > > >
> > > >
> > > > The book Agile Web Development with Rails seems to indicate
that
> > this
> > > > should just work the way I have set it up. Does anyone have
any
> > > > suggestions as to what I should be looking for to solve
this? I''m
> > > > running the Rails 1.1 candidate from the gems on Windows XP
with
> > Ruby
> > > > 1.8.2.
> > > >
> > > > Thanks,
> > > > Justin
> > > >
> > > > _______________________________________________
> > > > Rails mailing list
> > > > Rails@lists.rubyonrails.org
> > > > http://lists.rubyonrails.org/mailman/listinfo/rails
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Kent
> > > > ---
> > > > http://www.datanoise.com
> > > > _______________________________________________
> > > > Rails mailing list
> > > > Rails@lists.rubyonrails.org
> > > > http://lists.rubyonrails.org/mailman/listinfo/rails
> > > >
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Rails mailing list
> > > Rails@lists.rubyonrails.org
> > > http://lists.rubyonrails.org/mailman/listinfo/rails
> > >
> > >
> > >
> >
> >
> > --
> > Kent
> > ---
> > http://www.datanoise.com
> > _______________________________________________
> > Rails mailing list
> > Rails@lists.rubyonrails.org
> > http://lists.rubyonrails.org/mailman/listinfo/rails
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://wrath.rubyonrails.org/pipermail/rails/attachments/20060329/85bce750/attachment-0001.html
Can someone tell me if the following works for you? This is what is
happening in cast_base_type in
actionwebservice-1.1.0\lib\action_web_service\casting.rb line 105.
C:\>irb
irb(main):001:0> require ''date''
=> true
irb(main):002:0> Time.now
=> Wed Mar 29 12:16:09 Central Standard Time 2006
irb(main):003:0> DateTime.parse Time.now.to_s
ArgumentError: 3 elements of civil date are necessary
from c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash''
from c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse''
from (irb):3
irb(main):004:0>
--
Posted via http://www.ruby-forum.com/.
Justin Johnson wrote:> Can someone tell me if the following works for you? This is what is > happening in cast_base_type in > actionwebservice-1.1.0\lib\action_web_service\casting.rb line 105. > > C:\>irb > > irb(main):001:0> require ''date'' > => true > > irb(main):002:0> Time.now > => Wed Mar 29 12:16:09 Central Standard Time 2006 > irb(main):003:0> DateTime.parse Time.now.to_s > ArgumentError: 3 elements of civil date are necessary > from c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash'' > from c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse'' > from (irb):3 > irb(main):004:0> >It''s a bug in DateTime.parse specific to Windows. It''s caused by the long time zone string, i.e. "Central Standard Time" instead of "CST". It''s fixed in the Ruby 1.9 branch. Whether or not you can just copy date.rb into your stdlib, I''m not sure. Regards, Dan
Here''s my output: [chris@tick ~]$ irb irb(main):001:0> require ''date'' => true irb(main):002:0> Time.now => Wed Mar 29 12:53:51 CST 2006 irb(main):003:0> DateTime.parse Time.now.to_s => #<DateTime: 106005209219/43200,-1/4,2299161> irb(main):004:0> Could it be "CST" versus "Central Standard Time"? Chris S> Date: Wed, 29 Mar 2006 12:20:04 -0600 > From: "Justin Johnson" <justinj@justinj.org>> Can someone tell me if the following works for you? This is what is > happening in cast_base_type in > actionwebservice-1.1.0\lib\action_web_service\casting.rb line 105. > > C:\>irb > irb(main):001:0> require ''date'' > => true > irb(main):002:0> Time.now > => Wed Mar 29 12:16:09 Central Standard Time 2006 > irb(main):003:0> DateTime.parse Time.now.to_s > ArgumentError: 3 elements of civil date are necessary > from c:/ruby/lib/ruby/1.8/date.rb:1214:in `new_with_hash'' > from c:/ruby/lib/ruby/1.8/date.rb:1258:in `parse'' > from (irb):3
Thank you! -- Posted via http://www.ruby-forum.com/.
Was anyone able to find a workaround for this problem? Does using the date.rb file for 1.9 work? If so, where can I find this -- I was unable to find the 1.9 branch in the CVS repository. Thanks! Justin Johnson wrote:> Thank you!-- Posted via http://www.ruby-forum.com/.
I''d love to know as well... I dropped date.rb, date2.rb and date/format.rb from the 1.9 branch into my 1.8 directory but still had the same problem! Josh wrote:> Was anyone able to find a workaround for this problem? Does using the > date.rb file for 1.9 work? If so, where can I find this -- I was unable > to find the 1.9 branch in the CVS repository. > > Thanks! > > Justin Johnson wrote: >> Thank you!-- Posted via http://www.ruby-forum.com/.