Inicjowanie sesja protokołu SOAP
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
Aby rozpocząć sesja, musi zawierać żądanie klient sqlSession nagłówka i określ Zainicjuj atrybut o wartości wartość true.Jeśli sesja jest pomyślnie ustanowione, odpowiedź z serwera zawiera nagłówek sesji, który określa wartość serwera wygenerowany sessionID Właściwość.
Poświadczenia zabezpieczeń inicjatora sesja są skojarzone z sesja, a wszystkie kolejne żądania w sesja muszą być wykonane przy użyciu tych samych poświadczeń.
Jeśli punkt końcowy HTTP, które usługi sesja protokołu SOAP została określona klauzula bazy danych, to ustawienie tylko działa na żądanie, który inicjuje sesja.Kolejne żądania wykonywany w bieżącej bazie danych sesja.
Uwaga
Sesje protokołu SOAP są niezależne od połączenia i może ostatnio wyjściowego SQL Server połączenia. Sesje protokołu SOAP nie są uwzględniane przez licznik maksymalna liczba połączeń z serwerem.
Przykład
W poniższym przykładzie pokazano, jak do zainicjowania sesja protokołu SOAP.Po zainicjowaniu sesja protokołu SOAP są używane następujące komunikaty:
Żądanie protokołu SOAP, przesyłanych przez klient usługi sieci Web na żądanie sesja
Odpowiedź protokołu SOAP, zwrócony przez serwer, aby potwierdzić żądanie
Poniżej przedstawiono przykład żądanie protokołu SOAP, które mogłyby zostać wysłane przez klient.
<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>
Uwaga Aby Nazwa opcji jest rozróżniana wielkość liter, więc dokładny ciąg musi zawierać wielkie przypadek S, jako sqlSession jest zakodowany wcześniej.
Aby rozpocząć sesja, serwer zwróci następnie następujące żądanie.
<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>
W tym przykładzie tak długo, jak wartość limitu czas wymagana jest większa niż limit czas trwania sesja ustawione na serwerze dla punktu końcowego, HTTP, serwer będzie honorować limitu czas żądany przez klient i echo ten sam (wartość"12") w odpowiedzi. Limit czas określony przez klient w żądaniu jest większy niż maksymalny limit czas dla serwera, serwer maksymalny limit czas został określony w odpowiedzi do klient.