From: noreply@... Date: 2006-06-21T07:02:08+09:00 Subject: [ ruby-Bugs-4820 ] XMLRPC's conv2value does not handle DateTime at all (it chops the time off) Bugs item #4820, was opened at 2006-06-20 15:12 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4820&group_id=426 Category: Standard Library Group: None Status: Open Resolution: None Priority: 3 Submitted By: Philip Hallstrom (phallstrom) Assigned to: Nobody (None) Summary: XMLRPC's conv2value does not handle DateTime at all (it chops the time off) Initial Comment: I have been building a XML-RPC web service using Rails. I have several :datetime fields in my database. Upon receiving the result of the XML-RPC call those fields would have their time truncated to 00:00:00. Tracking the process all the way through it seems the error is near line 297 of /usr/local/lib/ruby/1.8/xmlrpc/create.rb: -------------------------------------------------------------------- when Date t = param @writer.tag("dateTime.iso8601", format("%.4d%02d%02dT00:00:00", t.year, t.month, t.day)) -------------------------------------------------------------------- I don't know why, but "case param" when param.class == DateTime would still match the Date clause. param.is_a?(Date) would return true. I changed the above to look like this: -------------------------------------------------------------------- when Date @writer.tag("dateTime.iso8601", param.strftime("%Y%m%dT%H:%M:%S")) -------------------------------------------------------------------- Which seems to work well for both DateTime's and Date's. ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4820&group_id=426