2013-01-15 3 views
3

방금 ​​레일스 3.2.11에 Savon 2.0.2를 설치했습니다. 내가 콘솔에서 새로운 클라이언트를 만들려고 할 때, 나는 TypeError: can't convert String into Hash을 얻을 :Savon이 "TypeError : 문자열을 해시로 변환 할 수 없습니다."

1.9.3-p362 :003 > client = Savon::Client.new("http://www.webservicex.net/uszip.asmx?WSDL") 
TypeError: can't convert String into Hash 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/options.rb:49:in `merge' 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/options.rb:49:in `initialize' 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/client.rb:10:in `new' 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/savon-2.0.2/lib/savon/client.rb:10:in `initialize' 
    from (irb):3:in `new' 
    from (irb):3 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start' 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start' 
    from /Users/jasonswett/.rvm/gems/ruby-1.9.3-p362/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

어떤 생각이 왜 이런 일이 될 수 있을까? 그것은 아주 새로운, 거의 바닐라 레일 애플 리케이션, 그래서 내가 잘못 될 수있는 이해가 안돼.

답변

7

시도 :

client = Savon::Client.new(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL") 

또는

client = Savon.client(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL") 
+0

레일. 감사. –

+0

문제는 없습니다. 가능한 경우 답변을 수락하십시오. 감사! –

0

당신이 레일에서 해시 키 값 형식

이전 방식으로 매개 변수 해시를 추가 할 수 있도록 비누 대신 문자열의 해시를 예상으로 해시 키를 설명하기 위해

에 해시를 설명하는 0

새로운 방법은 모두 일

client = Savon.client(wsdl: "http://www.webservicex.net/uszip.asmx?WSDL") 
관련 문제