2012-10-05 7 views
1

J'essaie d'utiliser le savon Gem, afin d'interagir avec webServices. donc je l'ai installé, et il semble que l'installation était ok:Problème avec ruby ​​savon jruby

gem list savon 
*** LOCAL GEMS *** 
savon (1.2.0) 

je peux le tester avec la commande simple:

ruby -rubygems -e 'require "savon"' 

(je n'ai pas erreur plus grâce à cette astuce http://wiki.mccune.org.uk/index.php/Backtrack)

Le problème se produit lorsque je veux utiliser un script .rb qui nécessitent savon:

jruby -S buby -i -B /pentest/web/burpsuite/burpsuite_v1.4.01.jar -r /home/fred/soapAtk2.rb 

/usr/lib/jruby//lib/ruby/site_ruby/shared/builtin/javasupport/core_ext/object.rb:75 warning: already initialized constant StartBurp 
Your JRE appears to be OpenJDK. 
Burp has not been fully tested on this platform and you may experience problems. 
Loading: "/home/fred/soapAtk2.rb" 

/usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in **`require': no such file to load -- savon** (LoadError) 
    from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from /home/fred/soapAtk2.rb:3 
    from /home/fred/soapAtk2.rb:31:in `require' 
    from /usr/lib/jruby//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from /usr/lib/jruby/lib/ruby/gems/1.8/gems/buby-1.3.1-java/bin/buby:63 
    from /usr/lib/jruby/lib/ruby/gems/1.8/gems/buby-1.3.1-java/bin/buby:63:in `each' 
    from /usr/lib/jruby/lib/ruby/gems/1.8/gems/buby-1.3.1-java/bin/buby:63 
    from /usr/lib/jruby/lib/ruby/gems/1.8/gems/buby-1.3.1-java/bin/buby:19:in `load' 
    from /usr/lib/jruby/bin/buby:19 

Il semble qu'il y ait une question de l'environnement, mais je ne peux pas comprendre comment le résoudre: -/

ruby -r rubygems -e "p Gem.path" 

["/root/.gem/ruby/1.9.2", "/usr/lib/ruby/gems/1.9.2"] 

# gem content savon 

/var/lib/gems/1.9.2/gems/savon-1.2.0/.gitignore 

/var/lib/gems/1.9.2/gems/savon-1.2.0/.rspe 
... 
... 

Autres informations

# ruby -v 
ruby 1.9.2dev (2010-07-02) [x86_64-linux] 
# gem -v 
1.3.7 

Quelqu'un at-il eu le même problème (je cours backtrack5 dernier release)

Merci de

Répondre

0

Il semble que vous avez deux rubis, l'un système (1.9.2dev) et JRuby. Lorsque vous exécutez ruby ou gem, il prend le système ruby, tandis que la commande jruby -S buby récupère jruby.

Si vous exécutez:

jruby -rubygems -e 'require "savon"' 

ce sera plus que probablement échouer.

Pour installer sur l'instance savon JRuby, exécutez:

jruby -S gem install savon 

Cela devrait résoudre le problème.