西山和広です。

>>> Tue, 2 Aug 2005 13:48:45 +0900 の刻に
>>> takkan_m / excite.co.jp(takkan_m / excite.co.jp) 氏曰く
> 今、googleAPIをつかって、プログラムを作ろうとしているて、
> ruby-googleをいれたのですが、
> サンプルプログラムのsearch.rbを実行すると、
> 
> /usr/local/lib/site_ruby/1.8/google.rb:299:in `initialize': undefined method `URL' for #<SOAP::Mapping::Object:0x404d65bc> (NoMethodError)
> from /usr/local/lib/site_ruby/1.8/google.rb:279:in `new'
> from /usr/local/lib/site_ruby/1.8/google.rb:279:in `search'
> from /usr/local/lib/site_ruby/1.8/google.rb:278:in `collect'
> from /usr/local/lib/site_ruby/1.8/google.rb:278:in `search'
> from ./search.rb:14
> という、エラーがでてしまいます。
> 
> ちょこっと、google.rbをいじってみたりしたのですが、このエラーがでてしまいます。
> 
> だれか、私と同じようなエラーが人とかいませんか?
> 
> ちなみに、環境は、
> vinelinux3.1
> ruby 1.8.2 (2004-11-03) [i386-linux]
> ruby-google-0.5.1
> soap4r-1_5_4
> です。

nadokaのgoogle botの時に同じ現象が出たのですが、
soap4rの非互換の影響で、URLがuRLになってしまった
ためです。

エラーの出ているgoogle.rbの299行目の
       self.url = element.URL
という行を
       self.url = element['URL']
に変更すれば、古いsoap4rでも新しいsoap4rでも
動くと思います。



-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)