すべての SOAP 呼び出しにわたる HTTP セッションの保持
SOAP クライアントが短時間に多数の呼び出しを行う場合は、すべての SOAP 呼び出しに対して単一の HTTP セッションを再利用することができます。
各 SOAP 呼び出しは、期限切れになるまで存続する新しいユーザーセッションを作成します。単一のユーザーセッションを作成してすべての受信 SOAP 呼び出しに再利用するには、次のガイドラインに従って SOAP クライアントを開発してください。
- HTTP::Cookies のようなモジュールを使用して「cookie jar」を作成します。
- 各要求の後に ServiceNow によって返された cookie を保存します (HTTP::Cookies によって自動的に処理されます)。
- 後続の各要求で cookie jar 内の cookie を再送信します。
注:
セッションローテーションの高セキュリティ設定を有効にした場合、最初の応答ヘッダーとともにサーバーから返された JSESSIONID はすぐに無効になります。2 番目の応答に新しい JSESSIONID が含まれています。
perl では、次のコードで自動的にクッキーを保存して送信することができます。
use HTTP::Cookies;
#we want to store and re-send cookies
my $cookies = HTTP::Cookies->new(ignore_discard => 1);
my $soap = SOAP::Lite
-> proxy('http://localhost:8080/glide/ecc_queue.do?SOAP');
#Set the cookie jar
$soap->transport->cookie_jar($cookies);