すべての SOAP 呼び出しにわたる HTTP セッションの保持
SOAP クライアントが短時間に多数の呼び出しを行う場合は、すべての SOAP 呼び出しに対して単一の HTTP セッションを再利用することができます。
各 SOAP 呼び出しは、期限切れになるまで存続する新しいユーザーセッションを作成します。単一のユーザーセッションを作成してすべての受信 SOAP 呼び出しに再利用するには、次のガイドラインに従って SOAP クライアントを開発します。
- HTTP::Cookies などのモジュールを使用して、「Cookie jar」を作成します。
- 各要求の後に ServiceNow によって返された cookie を保存します (HTTP::Cookies によって自動的に処理されます)。
- 後続の要求ごとに、Cookie jar 内の Cookie を再送信します。
注:
セッション・ローテーションの高セキュリティ設定を有効にした場合、最初の応答ヘッダーを使用してサーバーから返された JSESSIONID が直ちに無効になります。2 番目の応答には、新しい JSESSIONID が含まれます。
perl では、次のコードで cookie を自動的に保存して送信できます。
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);