Dodawanie obsługi śledzenia protokołu SOAP aplikacjom klientów
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.
Kiedy jest rozwijanie sieci Web aplikacje klienckie macierzysty usług sieci Web XML w SQL Server, możliwość śledzenia i obserwować komunikatów SOAP, które są wymieniane między wystąpienie jest użyteczne narzędzie do rozwiązywania problemów z SQL Server i aplikacji klient.
W tym temacie Funkcje biblioteki klas próbki, która implementuje nagłówkach rozszerzenia SOAP, które obsługują SOAP śledzenia projektu aplikacji klient z poziomu Visual Studio 2005.Gdy zintegrowany z projektu, te rozszerzenia śledzi i wyświetla treść komunikatu żądania i odpowiedzi protokołu SOAP.
Ta biblioteka można dodawać do istniejących Visual Studio 2005 projektów klient protokołu SOAP.Obejmuje to przykładowe aplikacje w Przykładowe aplikacje do wysyłania żądań HTTP macierzystym w SOAP.Zaleca się być zaznajomieni z informacje koncepcyjne i proceduralne w ustawienie serwera do nasłuchiwania macierzystego żądań usług sieci Web XML i Pisania aplikacji klienckich.
Ponadto jeśli nie znasz format komunikatów protokołu SOAP, zobacz następujące tematy:
Ostrzeżenie
W poniższej procedurze przyjęto, że utworzono istniejącej aplikacji klient protokołu SOAP za pomocą Visual Studio 2005 i dodano Web odwołanie do punktu końcowego HTTP SOAP, który został utworzony za pomocą SQL Server, jak pokazano w Wysyłanie żądań protokołu SOAP za pomocą programu Visual Studio 2005 klient (C#).
Aby dodać bibliotekę SOAP śledzenia próbki do projektu programu Visual Studio
Za pomocą programu Notatnik, skopiuj i wklej zawartość C# kod aukcji SQL SOAP śledzenia próbki klasy biblioteki i zapisz go pod nazwą "SqlSoapTracer.cs" w tym samym folderze, który zawiera pliki projektu klient protokołu SOAP.
Na klient komputer, z Microsoft Visual Studio 2005 grupy programów, uruchomienie programu Microsoft Visual Studio 2005.
Kliknij Otwórz projekt.
Przeglądaj i zaznacz plik projektu (.csproj) klient protokołu SOAP.
W oknie Solution Explorer wykonaj następujące czynności:
Wybierz nazwę projektu, kliknij prawym przyciskiem myszy i wskaż Dodaj, a następnie wybierz Dodać istniejący element.
W Dodać istniejący element okno dialogowe, Przeglądaj i wybierz SqlSoapTracer.cs plik z lokalizacji został zapisany w kroku 1.
Wybierz Pokaż wszystkie pliki i rozwiń Odwołania sieci Web węzła i wybierz plik Reference.cs.
W oknie edytora kodu zaktualizować pliku Reference.cs przez lokalizowania punktów wejścia dla swojego metody sieci Web.
Na przykład, jeśli dodajesz wsparcie śledzenia protokołu SOAP przykładowy projekt przewidzianych w Wysyłanie żądań protokołu SOAP za pomocą programu Visual Studio 2005 klienta (C#), opublikowanej różne metoda sieci Web, w tym projekcie są wyświetlane następujące punkty wejścia metoda sieci Web:
public object[] GetCustomerInfo([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] System.Data.SqlTypes.SqlString CustomerID, [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] ref System.Data.SqlTypes.SqlString OutputParam) { object[] results = this.Invoke("s2MsgGetCustomerInfoSoapIn", new object[] { CustomerID, OutputParam}); OutputParam = ((System.Data.SqlTypes.SqlString)(results[1])); return ((object[])(results[0])); } ... public System.Data.SqlTypes.SqlInt32 UDFReturningAScalar() { object[] results = this.Invoke("s1MsgUDFReturningAScalarSoapIn", new object[0]); return ((System.Data.SqlTypes.SqlInt32)(results[0])); }Dodać SOAP śledzenia obsługują kiedy metoda sieci Web wykonać w kodzie klient, należy dodać następujący snoopattribute() Wywołanie w kodzie Reference.cs bezpośrednio przed punktem wejścia dla każdej metoda sieci Web chcesz śledzenia, jak pokazano w następujących wierszy kodu.
[snoopattribute()] public object[] GetCustomerInfo(...) {...} ... [snoopattribute()] public System.Data.SqlTypes.SqlInt32 UDFReturningAScalar() {...}Rejestruje rozszerzenia SOAP, które wywołuje śledzenia protokołu SOAP te metody sieci Web, gdy są one wykonywane.
Korzystanie z obsługi śledzenia protokołu SOAP do testowania aplikacji
Aby użyć rozszerzenia SOAP śledzenia wsparcia przewidzianych w poprzednim kodzie po uruchomieniu aplikacji klient protokołu SOAP Visual Studio środowisko projektowania, należy wykonać następujące kroki:
Przy użyciu SQL Server Management Studio lub osql polecenia narzędzia, dodać metoda sieci Web do udostępnienia procedura składowana lub funkcja zdefiniowanej przez użytkownika, który chcesz przetestować na punkt końcowy.
Aby uzyskać więcej informacji, zobacz Uwidacznianie programowania SQL w sieci Web.
W Visual Studio, jeśli zostały nie zrobiono, kod, debugowania i budowania tekst SOAP klient aplikacji projektu.
Opcjonalnie można użyć przykładowego projektu w Wysyłanie żądań protokołu SOAP za pomocą programu Visual Studio 2005 klienta (C#).
Dodaj SqlSoapTracer.cs klasy do projektu, jak opisano w poprzedniej sekcji.
Zapisz, tworzenie i uruchamianie aplikacji klient Visual Studio rozwoju środowiska.
Uruchamiając aplikacji, zostanie utworzony obiekt Podgląd Schowka systemu Windows.Podczas wykonywania metody sieci Web, które włączono do śledzenia w kroku 3, ten obiekt Podgląd wyświetla następujące dla każdej metody sieci Web:
SOAP klient komunikat żądania jak wygenerowany przez kod klient.
Komunikat odpowiedzi serwera SOAP zwracane przez macierzysty usług XML sieci Web dla SQL Server.
Aby wyświetlić zawartość Schowka po wystąpieniu śledzenie aktywności, bieżącą zawartooć Schowka systemu Windows można wkleić do Notatnika.
Jak działa Obsługa śledzenia protokołu SOAP
Wywołania zwrotne zastosowań wstępnie mechanizm śledzenia i zdarzenia, które są częścią jak macierzystym XML sieci Web usług w SQL Server jest implementowany.Obejmują one dwa zdarzenia: BeforeSerializeand AfterSerialize.
Te zdarzenia i wywołania zwrotne zezwalają na żądanie protokołu SOAP i odpowiedziach SOAP z serwera schwytanych i przekierowany do strumień wyjściowy.Podany kod wyjścia jest przekierowywany do System.Windows.Forms.Clipboard obiektu.Schowka obiekt odbiera i wyświetla SOAP klient żądanie i serwerem wiadomości odpowiedzi, które są wymieniane przez wykonanie metody sieci Web, które bezpośrednio poprzedza snoopattribute() wywołań.
Wyjście żądanie klient i reagowania, wydany przez SQL Server w odpowiedzi na będą wyświetlane w formacie podobnym do struktury komunikat żądania protokołu SOAP i struktur komunikatu odpowiedzi protokołu SOAP.W odpowiedzi wyniki generowane przez serwer, takich jak XML serializowane wyjściowe, jeśli metoda sieci Web pomyślnie wykonana, pojawi się także.przypadek błędu, z strukturze usterki protokołu SOAP będą wyświetlane zamiast serializowane dane wyjściowe XML w odpowiedzi zwracane przez serwer.