初始化 SOAP 工作階段

若要初始化工作階段,用戶端要求必須包含 sqlSession 標頭,並使用 true 的值指定初始屬性。如果工作階段建立成功,伺服器的回應會包含以伺服器產生之 cookie 來指定 sessionId 的工作階段標頭。

工作階段啟動器的安全性認證與工作階段相關聯,且工作階段中的所有後續要求都需在相同的認證下執行。

若為 SOAP 工作階段提供服務的 HTTP 結束點已指定 DATABASE 子句,那麼此設定僅對初始化工作階段的要求有效。後續的要求會在工作階段目前的資料庫下執行。

ms190712.note(zh-tw,SQL.90).gif附註:
各個 SOAP 工作階段的連接都是獨立的,而且較 SQL Server 2005 連接持久。SOAP 工作階段的數目不受限於伺服器的連接計數上限。

範例

下列範例顯示如何初始化 SOAP 工作階段。初始化 SOAP 工作階段時,會使用下列訊息:

  • 由 Web 服務用戶端傳送以要求工作階段的 SOAP 要求
  • 由伺服器傳回以確認要求的 SOAP 回應

以下是由用戶端傳送 SOAP 要求的範例。

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- create a new session, with explicit timeout -->
    <sqloptions:sqlSession initiate="true" timeout="12"/>
</SOAP-ENV:Header>

請注意,選項名稱會區分大小寫;因此,完整的字串必須包括大寫的 S , 如前述 sqlSession 的編碼方式。

為初始化工作階段,伺服器會傳回下列要求。

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- response to creating a new session, or enlisting in an existing session -->
    <sqloptions:sqlSession sessionId="AAAAADreaLE=" timeout="12"/>
</SOAP-ENV:Header>

在此範例中,只要要求的逾時值小於或等於 HTTP 結束點上伺服器端所設定的最大工作階段逾時值,伺服器將接受用戶端要求的逾時間隔,且在回應中回應相同的值 ("12") 。如果用戶端在要求中指定的逾時間隔大於伺服器端的最大逾時值,則對用戶端的回應中會指定為此伺服器端的值。

請參閱

參考

使用 SOAP 工作階段
傳送原生 XML Web Service 要求的範例應用程式
將 SOAP 標頭加入用戶端應用程式

其他資源

使用 SOAP 工作階段

說明及資訊

取得 SQL Server 2005 協助