私は Rails で開発を行っており、gem Savon ( http://savonrb.com ) を使用しています。
私がしなければならないことは、wsdl が 2 つ持っているサービスと自分自身を統合することです。1 つは認証用で、もう 1 つはさまざまな機能用です。
次の 2 つの wsdl があります。
- 「https://.../authentication.asmx?wsdl」
- 「https://.../lists.asmx?wsdl」
私が最初にすることはこれです:
client = Savon::Client.new do |wsdl, http|
http.auth.ssl.verify_mode = :none
wsdl.document = "https://.../authentication.asmx?wsdl"
end
response = client.request :soap, :login, :body => {:username => "...", :password => "..."}
ログインしたら、2 番目の wsdl を使用して関数を実行する必要がありますが、認証内で別のクライアントを宣言することはできません。最初に言ったことを失います。
response = client.request :get_list_collection do
soap.endpoint = URI(URI.escape("https://.../lists.asmx?wsdl"))
end
私は多くのことを試しましたが、解決策は見つかりませんでした。
この問題を解決する方法はありますか?