Przy użyciu 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 żądanie protokołu SOAP wykonać w kontekście istniejącej sesja, go jako część żądania protokołu SOAP sesja na serwerze określić następujące:
Ten sam identyfikator sesja, dostarczony przez serwer wcześniej do klient.
Identyfikator odpowiedniego punktu końcowego HTTP dla punktu końcowego, gdzie poprzednio zainicjowana sesja protokołu SOAP
Tym samym kontekście użytkownika.Jest to albo Windows lub SQL Server użytkownika, w zależności od obsługiwanego LOGIN_TYPE we właściwościach protokołu SOAP dla punktu końcowego.
Identyfikator określonej sesja nie istnieje lub nie jest poprawnie uformowany, zwracany jest komunikat o błędzie protokołu SOAP z sqlSession element w nagłówku z Zakończenie atrybut.W przeciwnym razie serwer odpowiada za wyświetlanie echa ponownie sqlSession nagłówek, który klient wysyłanych w żądaniu.
Jeśli żądanie jest wykonywane w innym kontekście zabezpieczeń lub punkt końcowy niż ta, która zainicjowała sesja, zwracany jest błąd protokołu SOAP.W odpowiedzi, SOAP usterki kod zakończenia warstwę MYDŁA zostaną określone i w sqlSession nagłówek Zakończenie atrybut będzie uwzględniona wartość true.
Ponadto, aby zapobiec złośliwy użytkownik z określania istniejącej sesji, Zakończenie atrybut jest zestaw, a błąd protokołu SOAP są zwracane przez serwer jako wiadomość odpowiedzi jedynego jakikolwiek wniosek, w którym sesja zidentyfikowane dla rejestracji jest nieznany serwer.
Przykłady
W poniższym przykładzie pokazano rejestrowanie sesja protokołu SOAP.Pokazuje format komunikatu SOAP, które klient wysyła żądając zarejestrować w istniejącej sesja protokołu SOAP.Należy zauważyć, że rzeczywiste sessionId wartość będzie identyfikator sesja.
<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 -->
<sqloptions:sqlSession sessionId="AAAAADreaLE="/>
</SOAP-ENV:Header>
Serwer będzie albo echo wiadomość z powrotem do klient, aby wskazać sesji jest możliwy lub zwrócić błąd protokołu SOAP do klient, jeśli sesja zidentyfikowane w żądaniu nie jest dostępny.