2010-11-17 2 views
0

J'utilise Savon pour me connecter à un service Web via WSDL Je reçois l'erreur ci-dessous pour toutes les tentatives de connexion à l'aide de cette bibliothèque. Ce qui est frustrant, c'est que j'avais un code que j'utilisais depuis plusieurs semaines et qu'il n'avait pas de problème jusqu'à aujourd'hui. Je suis complètement déconcerté par cela. J'ai écrit un nouveau script en utilisant seulement Savon pour me connecter au service et j'ai la même erreur.Ruby - Savon - Connexion au service Web - 'nouveau': mauvais nombre d'arguments

Je reçois cette erreur: * test_ConnectToWSDL.rb: 4: dans new': wrong number of arguments (1 for 0) (ArgumentE rror) from test_ConnectToWSDL.rb:4:in « *

J'ai vérifié et vérifiez ce code et selon les docs cela devrait être Savon tout à fait valable.

Mon code

require 'savon' 

client = Savon::Client.new "http://myservices.com/service.svc?WSDL" 

client.lookup_by_sku do |soap| 
    soap.body = { 
    :includeStuff => includeStuff, 
    :includeStuff2 => includeStuff2, 
    :searchStuff => [ 
     {:"V1" => V1, 
      "V2" => V2, 
      "V3" => V3, 
      "V4" => V4, 
      "V5" => V5, 
      } 
     ] 
    }.to_xml 
end 

Répondre

1

Alors, voici ce qui est arrivé. J'ai installé Savon :: Spec et il a mis à jour ma gemme de Savon à la version 0.8 beta3 qui pour une raison quelconque n'aime pas l'argument passé pour 'nouveau'. Si j'ai trouvé un correctif pour cela ou pourquoi ce code n'aime pas la gemme bêta, je posterai à nouveau pour sauver quelqu'un d'autre 4 heures de l'argent de leur entreprise. :)

Questions connexes