Udostępnij za pośrednictwem


Kończenie sesji protokołu SOAP

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

Aby zakończyć sesja, należy określić żądanie sqlSession nagłówka zarówno sessionId i Zakończenie zestaw atrybutów.SessionId należy zidentyfikować znanych sesja czy serwer, który jest w stanie dostępne na serwerze i Zakończenie atrybut musi być zestaw na wartość true.

W przypadku żadnej sesja istniejących z określonym Identyfikatorem, zwracany jest błąd protokołu SOAP z Zakończenie atrybut w sqlSession nagłówka.

Jeśli żądanie jest wykonywane w innym kontekście zabezpieczeń lub punkt końcowy niż ta, która zainicjowała sesję, zwracany jest błąd protokołu SOAP i sesja pozostaje niezmienione.

Gdy jawnie zakończony, nie nowe żądania są akceptowane w sesja.Sesja jest zamknięta po zakończeniu ostatniej partia w trakcie sesji.Nie jest tej samej partia w sesja, które faktycznie zażądano zwolnienia.

Przykłady

Poniższy przykład pokazuje, kończenie sesja protokołu SOAP.Do zakończenia sesja, klient protokołu SOAP wysyła żądanie takie jak następujące znane i prawidłowego sessionId wartość atrybut zestaw i Zakończenie z wartością atrybut true:

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- enlist in an existing session, and terminate it -->
    <sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>

Żądania do zakończenia sesja może być pusta lub mieć treści wiadomości.Jeżeli organ, nagłówek zakończenie przetwarzania i potwierdzony, niezależnie od błędów występujących na wykonanie metoda.

Serwer zwraca potwierdzenia, na przykład następujące polecenie, aby wskazać sesja została zakończona.

<SOAP-ENV:Header
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
  xmlns:sqloptions="https://schemas.microsoft.com/sqlserver/2004/SOAP/Options">
    <!-- response to terminating an existing session -->
    <sqloptions:sqlSession terminate="true" sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>

Aby ukończyć zakończenie, klienci mają się zazwyczaj do skanowania dla potwierdzenia odpowiedzi z serwera.Jeśli potwierdzenia nie otrzymano u klienta w ciągu rozsądnego okresu czas, klient powinien ponów żądanie zakończenia.