2017-01-25 4 views
0

私は多くのことを試しましたが、できません。 私はソープWebサービスにアクセスするために私のアプリでsavonと仕事をしていました。アプリケーションはRoR 3とRuby 1.9.3を使用していましたが問題はありませんでしたが、RoR5とRuby 2.2.2を使用するようにアプリケーションをアップグレードして以来、もう使用できません。RoR Savon:rubyから認証できません2.2.2

石鹸サーバーをリクエストしようとすると「認証が必要です」と表示されます。

私は基本的な認証を試してみました:

client = Savon.client(wsdl: uri, basic_auth: [user_login, user_password]) 
    call_response = client.call(:good_types, :message => {}) 

だけでなく、カスタムヘッダーを持つ:

realm = Base64.strict_encode64("login:pass") 
    client = Savon.client(
     wsdl: uri, 
     soap_header: { 'Authorization:' => "BasiC#{realm}"}, 
     log: true, 
     log_level: :debug, 
     pretty_print_xml: true 
    ) 
    # call the 'getFood' operation 
    response = client.call(:good_types, message: {}) 

誰もが常に、同じ応答を私を助けたことができなかった:

"認証が必要です"

誰かが先制的な認証を構築する方法を知っているのでしょうか?

答えて

0

私はそれを得ました!

誰かが同じ問題を持っている場合:

headers: { 'Authorization:' => "BasiC#{realm}"} 

soap_header: { 'Authorization:' => "BasiC#{realm}"} 

認可のparamsだから我々が使用する必要がSOAPヘッダーのためではなく、HTTPヘッダ

間違った原因であります

関連する問題