セッション ID

Siebel Web サーバーは、ユーザー セッションのトラッキングにセッション ID を使用します。サーバーは、クッキーまたは URL (フォーム フィールドまたはクエリ文字列で。これはデフォルトの設定です) の何れかで、セッション ID を送信するように設定できます。

以下の例では、セッション ID に対して Set-Cookie ヘッダーを持つ HTTP レスポンス ヘッダーを示します。クッキー中のセッション ID は、Silk Performer によって自動的に処理されます。

クッキー中の Siebel セッション ID

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 12 Mar 2002 17:26:01 GMT
Content-Language: en
Cache-Control: no-cache
Content-Type: text/html;charset=windows-1252
Content-Length: 3043
Set-Cookie: _sn=!1.428.556d.3c8e3a29; Version=1; Path=/sales

URL 中の Siebel セッション ID

この例は、URL にセッション ID を組み込んだフレームを持つ HTML フレームセットの一部を示します。

<frameset>
  <frame name="_sweclient">
  <frame name="_swe" src="http://lab61/sales/start.swe?
                          SWEFrame=top._swe&SWECount=1&
                          _sn=!1.6c0.447b.3ceccd1b
                          &SWECmd=GetCachedFrame">
</frameset>

Silk Performer Web Recorder は、このようなセッション ID を正しく処理するスクリプトを生成します。

セッション ID を持つ記録したスクリプトの抜粋

この例は、次のテクニックを利用して上記のセッション ID を処理する記録したスクリプトの一部を示します。

  • 変数 gsSid は、セッション ID を保持するために宣言されます。
  • 解析関数 WebParseDataBoundEx は、WebPageLink 関数のサーバー レスポンスに含まれるセッション ID を解析するたのめに、関数呼び出し WebPageLink の前に挿入されます (上記の例を参照)。
  • 解析結果は、必要なときにいつでも使用することができます。この例では、フォーム送信に対して必要です。
  • 情報を含むコメントは、可読性を高めるためます。
var
  gsSid : string; // !1.6c0.447b.3ceccd1b

// ...

WebParseDataBoundEx(gsSid, sizeof(gsSid), "&_sn=", 1,
                    "&", WEB_FLAG_IGNORE_WHITE_SPACE);
WebPageLink("replace", "Siebel Sales (#2)", 1, "_sweapp");

WebPageForm("http://lab61/sales/start.swe", 
            SALES_START_SWE003, "Unnamed page (#2)");

// ...

dclform
  SALES_START_SWE003 <ENCODE_CUSTOM> :
    "SWERPC"     := "1",
    "SWECount"   := "1",
    "_sn"        := gsSid,// value: "!1.6c0.447b.3ceccd1b"
    "SWEJSXInfo" := "false",
    "SWECmd"     := "InvokeMethod",
    "SWEService" := "SWE Command Manager",
    "SWEMethod"  := "PrepareGlobalMenu";