前田です。
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
のようなエラーでした:(