Przy użyciu 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 wykonać w ramach istniejącej sesja żądanie protokołu SOAP, to musi Podaj następujące informacje jako część żądania protokołu SOAP sesja na serwerze:
Ten sam identyfikator sesja, dostarczony przez serwer poprzednio do klient.
Odpowiadający mu identyfikator punktu końcowego HTTP dla punktu końcowego, do którego został poprzednio zainicjowany sesja protokołu SOAP
Tym samym kontekście użytkownika.Jest to albo systemu Windows lub SQL Server Użytkownik, w zależności od obsługiwanych 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 nagłówka z Zakończenie atrybut. W przeciwnym razie serwer odpowiadający przy powrotem echo takie same sqlSession nagłówek, który klient wysłanych w żądaniu.
Jeśli żądanie jest wykonywana 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, the SOAP usterki kod zakończenia warstwy protokołu SOAP zostaną określone i w sqlSession nagłówek Zakończenie atrybut będzie ona uwzględniona wartość wartość true.
Ponadto, aby zapobiec złośliwy użytkownik z określania istniejącej sesji, Zakończenie atrybut jest ustawiony, a błąd protokołu SOAP są zwracane przez serwer jako wiadomość odpowiedzi wyłącznie do każdego żądania, w którym sesja określone dla rejestracji jest nieznany do serwera.
Przykłady
W poniższym przykładzie pokazano, rejestrowanie sesja protokołu SOAP.Pokazuje format komunikatu SOAP, wysyłanych przez klient podczas żądania, aby zarejestrować do istniejącej sesja protokołu SOAP.Należy zauważyć, że rzeczywiste sessionId wartość będzie identyfikator specyficzne dla 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 echo, każda wiadomość z powrotem do klient, aby wskazać sesja możliwy jest dostęp lub zwraca błąd protokołu SOAP do klient, jeśli nie można uzyskać dostępu do sesja zidentyfikowane w żądaniu.