Ruby soap4r wsdl2ruby.rb错误

Ruby soap4r wsdl2ruby.rb错误,ruby,rubygems,Ruby,Rubygems,我正在尝试运行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/rub

我正在尝试运行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 `<top (required)>': XML processor module not found. (RuntimeError)
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/parser.rb:13:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:11:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/importer.rb:9:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:11:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:33:in `require'
    from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:5:in `<main>'
[ral@lapetc]$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:警告:变量$KCODE不再有效
/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:68:警告:编码选项被忽略-u
/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:69:警告:忽略编码选项-u
/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/property.rb:70:警告:编码选项被忽略-u
/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/xmlparser.rb:74:在“`”中未找到XML处理器模块。(运行时错误)
from:29:in'require'
from:29:in'require'
来自/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'
来自/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'
来自/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'
来自/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:11:in`'
from:33:在'require'中
发件人:33:“紧急救援”中的
from:29:in'require'
from/usr/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:5:in`'
我安装了以下gems:

httpclient(2.2.0.1)小型测试(1.6.0) rake(0.8.7)rdoc(2.5.8)soap4r (1.5.8)

我已尝试安装xml解析器gem,但由于错误而失败:

有人知道问题出在哪里吗?这是我第一次触摸Ruby

soap4r是制作SOAPWebService客户端的最佳工具吗

非常感谢

答案发布在

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

  c.downcase == name


问题似乎已经解决。

您还可以尝试在Github上新的官方回购协议,该协议包含此修复程序,以及其他应用于主分支的协议。您需要将Gemfile设置为使用git repo,如下所示:

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

soap4r正在老化。我想现在大多数人都开始享受生活了。你能通过改变启发我吗,你是如何让Gem理解git://url前缀的?我被当前gem中缺少的“fetch_git”方法所困扰
gem 'soap4r', :git => 'git://github.com/felipec/soap4r.git'