Ruby soap4r wsdl2ruby.rb错误

我正在尝试运行soap4r gem附带的wsdl2ruby.rb脚本,并获得以下错误:

[ral@lap etc]$ ruby /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:13: warning: variable $KCODE is no longer effective /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:68: warning: encoding option is ignored - u /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:69: warning: encoding option is ignored - u /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:70: warning: encoding option is ignored - u /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/xmlparser.rb:74:in `': XML processor module not found. (RuntimeError) from :29:in `require' from :29:in `require' from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/parser.rb:13:in `' from :29:in `require' from :29:in `require' from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:11:in `' from :29:in `require' from :29:in `require' from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/importer.rb:9:in `' from :29:in `require' from :29:in `require' from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:11:in `' from :33:in `require' from :33:in `rescue in require' from :29:in `require' from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:5:in `' 

我安装了以下gem:

httpclient(2.2.0.1)minitest(1.6.0)rake(0.8.7)rdoc(2.5.8)soap4r(1.5.8)

我试图安装xml解析器gem,它失败并出现大量错误: http : //pastie.org/1822127

有谁知道问题是什么? 这是我第一次接触Ruby。

soap4r是制作SOAP Web服务客户端的最佳工具吗?

非常感谢!

答案发布在

http://railsforum.com/viewtopic.php?id=41231

为我工作。 也就是说,我编辑了文件rubyhome /lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/xmlparser.rb并更改了第66行:

  c.downcase == name 

  c.to_s.downcase == name 

问题似乎已经解决了。

您也可以尝试在Github上使用此修复程序的新官方仓库,其他应用于主分支。 您需要将Gemfile设置为使用git repo:

 gem 'soap4r', :git => 'git://github.com/felipec/soap4r.git'