前田です。

DateオブジェクトをSOAPで扱おうとすると、

$ ruby-cvs -v -I lib -r date -r soap/mapping -e 'p
SOAP::Mapping.obj2soap(Date.today).to_s'
ruby 1.9.0 (2005-05-11) [i686-linux]
/home/shugo/src/ruby/lib/xsd/datatypes.rb:611:in `_to_s': private method
`hour' called for #<Date: 4907003/2,0,2299161> (NoMethodError)
        from /home/shugo/src/ruby/lib/xsd/datatypes.rb:149:in `to_s'
        from -e:1

のようなエラーになるのですが、これはバグでしょうか。
上の例はtrunkのHEADですが、1.8でも同様です。

soap/mapping/registry.rbの205行目の

   204      [::DateTime,     ::SOAP::SOAPDateTime,   DateTimeFactory],
   205      [::Date,         ::SOAP::SOAPDateTime,   DateTimeFactory],
   206      [::Date,         ::SOAP::SOAPDate,       DateTimeFactory],

という部分があやしいと思ってコメントアウトしてみると、今度は、

$ ruby-cvs -v -I lib -r date -r soap/mapping -e 'p
SOAP::Mapping.obj2soap(Date.today).to_s'
ruby 1.9.0 (2005-05-11) [i686-linux]
/home/shugo/src/ruby/lib/xsd/datatypes.rb:557:in `add_tz': private
method `offset' called for #<Date: 4907003/2,0,2299161> (NoMethodError)
        from /home/shugo/src/ruby/lib/xsd/datatypes.rb:702:in `_to_s'
        from /home/shugo/src/ruby/lib/xsd/datatypes.rb:149:in `to_s'
        from -e:1

のようなエラーでした:(

-- 
前田 修吾