Ruby soap4r wsdl2ruby.rb エラーで示唆されているように、git://github.com/felipec/soap4r.git から soap4r gem をロードし、xmlparser.rb の 66 行目に変更を加えました。
c.downcase == name
に
c.to_s.downcase == name
しかし、私が実行すると:
wsdl2ruby.rb --wsdl http://docs.arrayent.com/zamapi.xml --type client --force
一連の警告の後、最終的には次のように爆発します。
F, [2012-06-01T07:54:26.319928 #285] FATAL -- app: Detected an exception. Stopping ... undefined method `collect' for #<String:0x00000100c4a418> (NoMethodError)
/Users/r/Developer/Topaz/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/gensupport.rb:239:in `trim_eol'
以前のバージョンの Ruby では「String#collect」が有効だったので、この wsdl2ruby は Ruby 1.9.2 用に更新されていないというのが私の推測です。
より新しいものはありますか?それともパッチ?