Как было предложено в разделе ошибки Ruby soap4r wsdl2ruby.rb, я загрузил гем soap4r из git: //github.com/felipec/soap4r.git и внес изменения в строку 66 в xmlparser.rb
c.downcase == name
to
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'
Поскольку «String#collect» был действителен в предыдущих версиях Ruby, я подозреваю, что этот wsdl2ruby не был обновлен для Ruby 1.9.2.
Есть новее? Или патч?