1
おそらく私はsavonの慣用コードを書いていないので、私をまっすぐにしても構いませんが、wsse認証を使用したSavonでは、nonceトークンが後続のリクエストで再利用される
client=Savon::Client.new {
wsdl.document=wsdl_path
}
r1=client.request(:company_get_report_suites) do
wsse.credentials APP_CONFIG['omniture']['username'],APP_CONFIG['omniture']['shared_secret'],:digest
end
r2=client.request(:scheduling_get_reports_run_history) do
wsse.credentials APP_CONFIG['omniture']['username'],APP_CONFIG['omniture']['shared_secret'],:digest
end
2番目の要求はナンスを再利用して終了します。 wseseノンスのポイントは、それを一度だけ使用することです。私が呼んでいるサービスは、私がそれを再利用したと不満を持ち、リクエストを処理することを拒否します。私の最初の考えは、タイムスタンプを追加することでしたが、それは役に立たなかった。実際、ソースコードは、設定されている場合はnonceが使用され、以前に設定されていない場合にのみ生成されることを示しています。
明らかに、私は新しいクライアントを作成することができますが、それはかなり重い操作であり、同じクライアントから複数の要求を作成する通常の方法ではないようです。
現実的な回避策はありますか?