2011-04-22 158 views
4

我試圖運行自帶的SOAP4R寶石wsdl2ruby.rb腳本,得到以下錯誤:紅寶石SOAP4R wsdl2ruby.rb錯誤

[[email protected] 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>' 

我已經安裝了下列寶石:

的HttpClient(2.2.0.1)MINITEST(1.6.0) 耙(0.8.7)的RDoc(2.5.8)SOAP4R (1.5.8)

我試圖安裝XML解析器寶石失敗,錯誤負載:http://pastie.org/1822127

有誰知道什麼問題是?這是我第一次碰到Ruby。

soap4r是製作SOAP webservice客戶端的最佳工具嗎?

非常感謝!

+2

soap4r正在老化。我認爲現在大多數人已經轉向薩翁。 http://savonrb.com/ – 2011-04-23 00:54:38

回答

9

答案公佈在

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

爲我工作。即,我編輯的文件ruby​​home /lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/xmlparser.rb和改變線66從:

c.downcase == name 

c.to_s.downcase == name 

並且問題似乎得到解決。

3

你也可以試試Github上的新官方回購,它有這個修補程序,其他的則適用於主分支。您需要將您的Gemfile設置爲使用git repo:

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

你能否通過改變啓發我,你是如何讓Gem理解git:// url前綴的?我堅持使用當前gem中缺少的「fetch_git」方法 – quetzalcoatl 2012-04-04 12:23:17