Udostępnij za pośrednictwem


Dodawanie obsługi śledzenia protokołu SOAP do aplikacji klient

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.

Kiedy użytkownik opracowywania sieci Web aplikacje klienckie dla macierzysty usług XML sieci Web w SQL Server, możliwość śledzenia i obserwować wiadomości protokołu SOAP, które są wymieniane między wystąpienie jest użyteczne narzędzie do rozwiązywania problemów SQL Server i aplikacji klient.

W tym temacie funkcje Biblioteka klas próbki, implementującą nagłówków rozszerzeń SOAP, obsługujących śledzenie projektu aplikacji klient z w ramach protokołu SOAP Visual Studio 2005. Zintegrowany z projektu, te rozszerzenia śledzenia i wyświetlania zawartości komunikatu żądanie i odpowiedź SOAP.

Ta biblioteka można dodawać do istniejących Visual Studio 2005 Projekty klient protokołu SOAP. Dotyczy to także przykładowych aplikacji w Przykładowe aplikacje do wysyłania żądań macierzystego protokołu SOAP protokołu HTTP.Firma Microsoft zaleca się zapoznanie z informacje dotyczące pojęć i procedur w się Ustawianie serwera do słuchania w trybie macierzystym żądań usług sieci Web XML and Pisania aplikacji klient.

Ponadto jeśli nie znasz formatu wiadomości protokołu SOAP, zobacz następujące tematy:

Uwaga

W poniższej procedurze zakłada się, że istniejącą aplikację klient protokołu SOAP został utworzony za pomocą Visual Studio 2005 i dodano odwołanie do punktu końcowego SOAP protokołu HTTP, który został utworzony za pomocą sieci Web SQL Server, jak pokazano na Wysyłanie żądania protokołu SOAP za pomocą programu Visual Studio 2005 klient (C#).

Aby dodać bibliotekę próbki śledzenia protokołu SOAP do projektu programu Visual Studio

  1. Za pomocą programu Notatnik, skopiuj i Wklej zawartość Wyświetlanie listy dla biblioteki klas przykładowe śledzenia SQL SOAP kod C# i zapisać go pod nazwą "SqlSoapTracer.cs" w tym samym folderze, w którym znajduje się klient protokołu SOAP plików projektów.

  2. Na komputerze klienckim z Program Microsoft Visual Studio 2005 program grupy, uruchom program Microsoft Visual Studio 2005.

  3. Kliknij przycisk Otwórz projekt.

  4. Odszukaj i zaznacz plik projektu (.csproj) klient protokołu SOAP.

  5. W oknie eksplorator rozwiązań wykonaj następujące czynności:

    1. Zaznacz projekt, według nazwy, kliknij prawym przyciskiem myszy i wskaż Dodawanie, a następnie wybierz opcję Dodaj istniejący element.

    2. W Dodaj istniejący element -okno dialogowe, odszukaj i zaznacz plik SqlSoapTracer.cs z lokalizacji będzie zapisany w kroku 1.

    3. Wybierz opcję Pokaż wszystkie pliki a rozwińMateriały referencyjne w sieci Web węzeł i zaznacz plik Reference.cs.

  6. W oknie edytora kodu zaktualizować plik Reference.cs lokalizowanie punkty wejścia do sieci nie ma metody sieci Web.

    Na przykład jeśli chcesz dodać obsługę śledzenia protokołu SOAP przykładowy projekt zawarte w Wysyłanie żądania protokołu SOAP za pomocą programu Visual Studio 2005 klient (C#), opublikowanych punkty wejścia metoda sieci Web dla różnych metod w sieci Web, w tym projekcie będzie wyglądać następująco:

    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]));
            }
    
  7. Aby dodać obsługę śledzenia protokołu SOAP, podczas wykonywania metoda sieci Web w kodzie klient, należy dodać następujące snoopattribute() Wywołanie w kodzie Reference.cs bezpośrednio przed punktu wejścia dla każdej metoda sieci Web do śledzenia, jak pokazano w następujących wierszy kodu.

    [snoopattribute()]
    public object[] GetCustomerInfo(...) {...}
    ...
    [snoopattribute()]
    public System.Data.SqlTypes.SqlInt32 UDFReturningAScalar() {...}
    

    To rejestruje rozszerzenia SOAP, która wywołuje śledzenia protokołu SOAP z następujących metod w sieci Web podczas ich wykonywania.

Sprawdź swój aplikacji przy użyciu programu obsługi śledzenia protokołu SOAP

Aby użyć rozszerzenia obsługi śledzenia protokołu SOAP, pod warunkiem że w poprzednim kodzie po uruchomieniu SOAP klient aplikacji w Visual Studio środowisko projektowania, należy wykonać następujące czynności:

  1. Przy użyciu formatu SQL Server Management Studio lub Osql polecenia narzędzia, należy dodać metoda sieci Web do udostępnienia procedura przechowywana lub funkcja zdefiniowanej przez użytkownika, który chcesz przetestować dla użytkownika końcowego.

    Aby uzyskać więcej informacji zobaczNarażania programowania SQL w sieci Web.

  2. W Visual Studio, jeśli nie została utworzona wcześniej, kod, debugowanie i budowanie SOAP projektu aplikacji klient.

    Opcjonalnie można użyć przykładowego projektu w Wysyłanie żądania protokołu SOAP za pomocą programu Visual Studio 2005 klient (C#).

  3. Dodawanie SqlSoapTracer.cs klasy do projektu, jak to opisano w poprzedniej sekcji.

  4. Zapisywanie, tworzenia i uruchamiania aplikacji klient w Visual Studio środowisko projektowania.

    Po uruchomieniu aplikacji, tworzony jest obiekt Podgląd Schowka systemu Windows.Podczas wykonywania metody sieci Web zostanie włączony do śledzenia w kroku 3 tego obiektu przeglądarka wyświetla następujące dla każdej metody sieci Web:

    • Protokół SOAP klient komunikatu żądania tak jak w przypadku kodu klient.

    • Komunikat odpowiedzi serwera protokołu 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ą zawartość Schowka systemu Windows mogą być wklejane do programu Notatnik.

Jak działa śledzenie obsługę protokołu SOAP

Wywołania zwrotne zastosowań wstępnie mechanizm śledzenia i zdarzenia, które są częścią sposób macierzysty XML sieci Web Services w SQL Server jest zaimplementowana. Obejmują one dwa zdarzenia: BeforeSerialize i AfterSerialize.

Te zdarzenia i wywołania zwrotne zezwalają na żądanie protokołu SOAP i jego odpowiedniej odpowiedź protokołu SOAP z serwera, które mają być stosowane nadlewki i podlewki i przekierowany do strumień wyjściowy.W kodzie pod warunkiem, że dane wyjściowe został przekierowany do System.Windows.Forms.Clipboard obiektu.The Clipboard object receives and displays the SOAP klient request and server response messages that are exchanged by executing Web methods that are directly preceded by snoopattribute() calls.

Dane wyjściowe żądanie klient a odpowiedzią wydane przez SQL Server w odpowiedzi na to, będą wyświetlane w formacie podobnym do Struktura komunikat żądania protokołu SOAP and Struktura wiadomość odpowiedzi protokołu SOAP.W odpowiedzi żadnych wyniki, które są generowane przez serwer, na przykład serializowane dane wyjściowe XML, jeśli w sieci Web metoda pomyślnie wykonana, pojawi się także.przypadek wystąpienia błędu Struktury komunikat Błąd protokołu SOAP będą wyświetlane zamiast serializowane dane wyjściowe XML w odpowiedzi zwracane przez serwer.