Wysyłanie żądań protokołu SOAP przy użyciu programu Visual Studio 2005 klienta (Visual Basic)

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.

W przykładzie tego tematu jest podobne do w Wysyłanie żądań protokołu SOAP za pomocą programu Visual Studio 2005 klienta (C#).Jedyną różnicą jest to, że ten przykład jest napisany w Visual Basic.Dlatego wymagany kod i czynności, aby utworzyć w przykładzie są podane w tym temacie.

Tworzenie działający przykładowy

Ze względu na liczbę kroków tworzenia tej próbki aplikacja jest podzielone na cztery części:

  • Część 1: Wykonanie procedura składowana.

  • Część 2: Wykonanie kwerendy SQL bez parametrów.

  • Część 3: Wykonanie kwerendy SQL z parametrem.

  • Część 4: Wykonanie funkcja zdefiniowanej przez użytkownika.

Każda część zawiera zestaw instrukcji.Na końcu każdej części można przetestować aplikację.

Aby utworzyć klasę proxy wymagane

  1. Utwórz folder na komputerze dla tej aplikacji.

  2. Na klient komputer, z Microsoft Visual Studio 2005 grupy programów, uruchomienie programu Microsoft Visual Studio 2005.

  3. Kliknij Nowy projekt.

  4. Wybierz Projekty Visual Basic jako typu projektu.

  5. W nazwę tekst Określ NativeSOAPApp2.

  6. W lokalizację tekst Określ ścieżka folderu, w którym chcesz zapisać projekt.

  7. Wybierz Aplikacji systemu Windows jako szablonu, a następnie kliknij przycisk OK.

  8. W oknie Solution Explorer kliknij prawym przyciskiem myszy odniesienia, a następnie wybierz Dodawanie odwołania sieci Web.Innym sposobem na dodawanie odwołania sieci Web jest z projektu menu, a następnie wybierz Dodawanie odwołania sieci Web.

  9. W adres wpisz https://Server/sql?wsdl, gdzie serwer jest nazwą serwera, a następnie naciśnij klawisz ENTER.Jeśli generacji WSDL powiedzie się, zostanie wyświetlony opis punktu końcowego.Kliknij w tym punkcie AddReference.Tworzy klasy proxy wymagane, dzięki czemu można wywoływać metody w dokumencie WSDL.

Część 1: Wykonaj procedurę przechowywaną

W tej części aplikacja żąda GetCustomerInfo Web metoda.

  1. W formularzu Form1, Dodaj pole tekstowe (Poletekstowe1), przycisk (button1) oraz pola listy (Pole_listy1).

  2. Kliknij prawym przyciskiem myszy pole tekstowe, a następnie wybierz Właściwości.Zmień tekstu wartość Poletekstowe1 1.Jest to domyślna wartość Identyfikator klienta.

  3. Kliknij prawym przyciskiem myszy button1, a następnie wybierz Właściwości.

    1. Zmień tekstu wartości właściwość z button1 do ExecSP.

    2. Zmień (nazwę) wartość właściwość ExecSP.

  4. Kliknij prawym przyciskiem myszy pole listy (Pole_listy1), a następnie wybierz Właściwości.Zmień HorizontalScrollbar wartość właściwość True.

  5. Kliknij dwukrotnie ExecSP.

  6. Skopiuj kod z Wyświetlanie listy kodu języka Visual Basic dla ExecSP do tej funkcja.

  7. Aktualizacja kodu.Zmiana odwołań do server nazwy hosta zidentyfikowany podczas tworzenia punktu końcowego przy użyciu tworzenie punktu KOŃCOWEGO.

  8. Zapisz i skompilować projekt.Aby uzyskać więcej informacji zobacz poprzednią sekcję "Kompilowanie kodu".

Część 2: Wykonanie kwerendy SQL bez parametrów

W tej części klient aplikacji wykonuje kwerendy ad hoc (XML dla kwerendy), która pobiera trzech pracowników z pracownika tabela w AdventureWorks2008R2 bazy danych.

  1. W formularzu Form1 w [projekt] karcie, należy dodać inny przycisk (button1).

  2. Kliknij prawym przyciskiem myszy ten przycisk Nowy, a następnie wybierz Właściwości.

    1. Zmień tekstu wartości właściwość z button1 do ExecBatchFindAllEmps.

    2. Zmień (nazwę) wartość właściwość ExecBatchFindAllEmps.

  3. Kliknij dwukrotnie ExecBatchFindAllEmp.

  4. Skopiuj kod z Wyświetlanie listy kodu języka Visual Basic dla FindAllEmpsdo tej funkcja.

  5. Aktualizacja kodu.Zmiana odwołań do server nazwy hosta zidentyfikowany podczas tworzenia punktu końcowego przy użyciu tworzenie punktu KOŃCOWEGO.

  6. Zapisz i skompilować projekt.Aby uzyskać więcej informacji zobacz poprzednią sekcję "Kompilowanie kodu".

Część 3: Wykonanie kwerendy SQL z parametrami

Ta część jest podobny do poprzedniego części chyba, że żądanie protokołu SOAP dla kwerend ad hoc zawiera parametr kwerendy.XML dla kwerenda pobiera informacje o pracownikach dla identyfikatora określonego pracownika.

  1. W formularzu Form1 w [projekt] karta, dodać przycisk (button1).

  2. Kliknij prawym przyciskiem myszy ten przycisk Nowy, a następnie wybierz Właściwości.

    1. Zmień tekstu wartości właściwość z button1 do ExecBatchFindAnEmp.

    2. Zmień ()nazwę) wartość właściwość ExecBatchFindAnEmp.

  3. Kliknij dwukrotnie ExecBatchFindAnEmp.

  4. Skopiuj kod z Wyświetlanie listy kodu języka Visual Basic dla FindAnEmp do tej funkcja.

  5. Aktualizacja kodu.Zmiana odwołań do server nazwy hosta zidentyfikowany podczas tworzenia punktu końcowego przy użyciu tworzenie punktu KOŃCOWEGO.

  6. Zapisz i skompilować projekt.Aby uzyskać więcej informacji zobacz poprzednią sekcję "Kompilowanie kodu".

Część 4: Wykonanie funkcji zdefiniowanej przez użytkownika

W tej części aplikacji klient wysyła żądanie protokołu SOAP UDFReturningScalar Web metoda.Ta metoda sieci Web odpowiada funkcja zdefiniowanej przez użytkownika, który zwraca wartość całkowitą.

  1. W formularzu Form1 w [projekt] karcie, należy dodać inny przycisk (button1).

  2. Kliknij prawym przyciskiem myszy ten przycisk Nowy, a następnie wybierz Właściwości.

    1. Zmień tekstu wartości właściwość z button1 do ExecUDFReturningScalar, i

    2. Zmień (nazwę) wartość właściwość ExecUDFReturningScalar.

  3. Kliknij dwukrotnie ExecUDFReturningScalar.

  4. Skopiuj kod z Wyświetlanie listy kodu języka Visual Basic dla ExecUDF do tej funkcja.

  5. Aktualizacja kodu.Zmiana odwołań do serwera za pomocą nazwy hosta określone podczas tworzenia za pomocą tworzenia punktu KOŃCOWEGO punktu końcowego.

  6. Zapisz i skompilować projekt.Aby uzyskać więcej informacji zobacz poprzednią sekcję "Kompilowanie kodu".

Ponieważ punkt końcowy określa zintegrowane uwierzytelnianie w kodzie pojawia się następujący wiersz:proxy.Credentials = System.Net.CredentialCache.DefaultCredentials.

Jeśli używasz SQL Server uwierzytelnianie, zalecamy usunąć tego wiersza i zastąpić go z kodem, który implementuje nagłówków WS-Security do dostarczonego SQL Server-na podstawie poświadczenia uwierzytelnianie.Aby uzyskać więcej informacji, zobacz Uwierzytelniania programu SQL Server za pośrednictwem protokołu SOAP.

Ostrzeżenie

Jeśli używasz albo SQL Server uwierzytelniania lub uwierzytelnianie podstawowe, SQL Server wymaga użycia Secure Sockets Layer (SSL) dla bezpiecznej transmisji zaszyfrowanych poświadczenia użytkownika, które w przeciwnym razie byłyby widoczne jako jasne tekstu.Aby uzyskać więcej informacji na temat włączania protokołu SSL w celu korzystania z punktami końcowymi HTTP, zobacz Konfigurowanie certyfikatów do użytku przez SSL.

Kompilowanie kodu

SQL ServerInstaluje .NET Framework 2.0 jako część jego procesu instalacji.Instrukcje te kompilacji używać najnowszych .NET Framework (jest to najwyższy numer w \WINDOWS\Microsoft.NET\Framework.)

Aby skompilować kod

  • Zapisywanie całego projektu.
  1. Otwórz wiersz polecenia, a następnie zlokalizuj folder, w którym projekt jest zapisany.

  2. Z tego folderu, skopiuj plik Reference.vb z podfolderu Reference\Server sieci Web (na przykład skopiować "Web Reference\Server\Reference.vb").Pliki Reference.vb i Form1.vb powinny być w tym samym folderze.

  3. Skompilować kod i określ nazwę pliku wykonywalnego (.exe).Na przykład jeśli nazwa pliku wykonywalnego, który jest NativeSOAPApp2.exe, wiersza polecenia wyglądałyby następująco:

    \WINDOWS\Microsoft.NET\Framework\v2.0.xxxxx\vbc.exe /out:NativeSOAPApp2.exe /r:System.dll /r:System.Data.dll /r:System.Xml.dll /r:System.Web.Services.dll /r:Microsoft.VisualBasic.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /m:Form1 Form1.vb Reference.vb

    XXXXX jest numer folder odpowiadający wersja .NET Framework.

    Spowoduje to utworzenie pliku wykonywalnego (NativeSOAPApp2.exe) w bieżącym katalogu.

    Ostrzeżenie

    Jeśli używasz wcześniejszej wersja programu .NET Framework, może pojawić się uruchamianie -czas błąd.W takim przypadku spróbuj zaktualizować GetCustomerInfo procedura składowana przez dodanie FOR XML AUTO klauzula na koniec SELECT instrukcja, jak pokazano:

    SELECT TOP 3 SalesOrderID, OrderDate 
    FROM   SalesOrderHeader
    WHERE  CustomerID = @CustomerID
    FOR XML AUTO
    

Wyniki wykonywanie procedura składowana są wyświetlane w polu listy.