正如 Ruby soap4r wsdl2ruby.rb errors 中所建议的,我从 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'

由于 'String#collect' 在以前的 Ruby 版本中有效,我的预感是这个 wsdl2ruby 尚未针对 Ruby 1.9.2 进行更新。

有更新的吗?还是补丁?

最佳答案

你可以尝试安装这个 gem https://rubygems.org/gems/mumboe-soap4r 。它解决了我的问题。

关于ruby - 是否有适用于 ruby​​ 1.9.2 的soap4r/wsdl2ruby 版本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10852675/

10-09 07:54