Udostępnij za pośrednictwem


Wysyłanie żądania protokołu SOAP za pomocą klient programu Visual Studio 2005 (Visual Basic)

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.

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

Tworzenie działające przykładowe

Ze względu na liczbę kroków tworzenia w tym przykładzie aplikacja jest podzielone na cztery części:

  • Część 1: wykonać procedury przechowywanej.

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

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

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

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

Do utworzenia klasy proxy wymagane

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

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

  3. Kliknij przycisk Nowy projekt.

  4. Wybierz opcję Projekty języka Visual Basic as the Typ projektu.

  5. W Nazwa tekst określ opcjęNativeSOAPApp2.

  6. W Lokalizacja tekstu należy określić ścieżka folderu, w którym chcesz zapisać projekt.

  7. Wybierz opcję Aplikacja systemu Windows as the szablon, a następnie kliknij przycisk OK.

  8. W oknie eksplorator rozwiązań kliknij prawym przyciskiem myszy Odwołania, a następnie wybierz opcję Dodaj odwołanie sieci Web.Dodaj odwołanie sieci Web w inny sposób pochodzi z Projekt menu i wybierz opcję Dodaj odwołanie sieci Web.

  9. W Adres polu wpisz https://Server/sql?wsdl, gdy serwer jest nazwą serwera, a następnie naciśnij klawisz ENTER.Jeśli generowania WSDL zakończy się pomyślnie, zostanie wyświetlony opis punktu końcowego.W tym momencie kliknij przycisk AddReference.Tworzy klas wymaganych serwera proxy, dzięki czemu można wywołać metody w dokumencie WSDL.

Część 1: Wykonaj procedura przechowywana

W tej części, aplikacja żąda GetCustomerInfo Metoda sieci Web.

  1. W formularzu Form1 Dodaj (pole do tekstutextBox1), a button (Button1) oraz pola listy (Pole_listy1).

  2. Kliknij prawym przyciskiem myszy pole tekstowe, a następnie wybierz opcję Właściwości.Zmiana Tekst wartość od textBox1 do 1.Jest to domyślna wartość Identyfikator klienta.

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

    1. Zmiana Tekst wartość właściwość Button1 ExecSP.

    2. Zmienianie)Nazwa) wartość właściwość do ExecSP.

  4. Kliknij prawym przyciskiem myszy (pole listyPole_listy1), a następnie wybierz Właściwości.Zmiana HorizontalScrollbar wartość właściwość Wartość true.

  5. Kliknij dwukrotnie ikonę ExecSP.

  6. Skopiować ten kod z Lista kodu języka Visual Basic dla ExecSP do tej funkcja.

  7. Należy zaktualizować kod.Zmienianie odwołań do server Nazwa hosta, identyfikowane po punkcie końcowym zostało utworzone przy użyciu CREATE punktu KOŃCOWEGO.

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

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

W tej części klient aplikacja wykonuje kwerendy ad hoc (FOR XML kwerendy), pobiera trzech pracowników z Pracownika tabela in AdventureWorks Baza danych.

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

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

    1. Zmiana Tekst wartość właściwość Button1 ExecBatchFindAllEmps.

    2. Zmienianie)Nazwa) wartość właściwość do ExecBatchFindAllEmps.

  3. Kliknij dwukrotnie ikonę ExecBatchFindAllEmp.

  4. Skopiować ten kod z Lista kodu języka Visual Basic dla FindAllEmps do tej funkcja.

  5. Należy zaktualizować kod.Zmienianie odwołań do server Nazwa hosta, identyfikowane po punkcie końcowym zostało utworzone przy użyciu CREATE punktu KOŃCOWEGO.

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

Część 3: wykonać kwerendy SQL z parametry

Ta część jest podobna do poprzedniej strony, z tą różnicą, że żądanie protokołu SOAP dla kwerendy ad hoc zawiera parametr kwerendy.Kwerenda FOR XML pobiera informacje o pracownikach dla identyfikatora określonego pracownika.

  1. W formularzu Form1 w [Projektowania] karcie, należy dodać przycisk (Button1).

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

    1. Zmiana Tekst wartość właściwość Button1 ExecBatchFindAnEmp.

    2. Zmiana (Nazwa ) wartość właściwość do ExecBatchFindAnEmp.

  3. Kliknij dwukrotnie ikonę ExecBatchFindAnEmp.

  4. Skopiować ten kod z Lista kodu języka Visual Basic dla FindAnEmp do tej funkcja.

  5. Należy zaktualizować kod.Zmienianie odwołań do server Nazwa hosta, identyfikowane po punkcie końcowym zostało utworzone przy użyciu CREATE punktu KOŃCOWEGO.

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

Część 4: wykonać funkcja zdefiniowanej przez użytkownika

W tej części, aplikacja kliencka wysyła żądanie protokołu SOAP UDFReturningScalar Metoda sieci Web.Ta metoda sieci Web odpowiada zwraca wartość funkcja zdefiniowanej przez użytkownika.

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

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

    1. Zmiana Tekst wartość właściwość Button1 do ExecUDFReturningScalar i

    2. Zmienianie)Nazwa) wartość właściwość do ExecUDFReturningScalar.

  3. Kliknij dwukrotnie ikonę ExecUDFReturningScalar.

  4. Skopiować ten kod z Lista kodu języka Visual Basic dla ExecUDF do tej funkcja.

  5. Należy zaktualizować kod.Zmiana odwołań do serwera o nazwie hosta określone podczas tworzenia punktu końcowego za pomocą CREATE 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, firma Microsoft zaleca usunięcie tego wiersza i zamienić go na kod, który implementuje nagłówków WS-Security do dostarczonego SQL Server-podstawie poświadczenia uwierzytelniania. Aby uzyskać więcej informacji zobaczuwierzytelnianie programu SQL Server za pośrednictwem protokołu SOAP.

Uwaga

Jeśli korzystasz z SQL Server uwierzytelniania lub uwierzytelnianie podstawowe SQL Server wymaga to użycia Secure Sockets Layer (SSL) do bezpiecznego przesyłania zaszyfrowane poświadczenia użytkownika, które w przeciwnym razie byłyby widoczne jako zwykły tekst. Aby uzyskać więcej informacji na temat włączania protokołu SSL do korzystania z punktów końcowych protokołu HTTP zobacz Konfigurowanie certyfikat do użytku przez SSL.

Kompilowanie kodu

SQL Server instaluje .NET Framework 2.0 jako część procesu instalacji. Te instrukcje tworzenia za pomocą najnowszych .NET Framework (Jest to najwyższy numer w folderze \WINDOWS\Microsoft.NET\Framework).

Aby skompilować kod

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

  2. Z tego folderu, skopiuj plik Reference.vb z sieci Web Reference\Server podfolder (na przykład skopiować "Reference\Server\Reference.vb sieci Web „).W tym samym folderze, w którym należy Form1.vb i pliki Reference.vb.

  3. Skompiluj kod i określ nazwę pliku wykonywalnego (.exe).Na przykład jeśli nazwa pliku wykonywalnego, który jest NativeSOAPApp2.exe, wiersza polecenia jest w następujący sposób:

    \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 Reference.vb Form1.vb

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

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

    Uwaga

    Jeśli używasz wcześniejszej wersja programu .NET Framework, może pojawić się błąd czas wykonania. W takim przypadku spróbuj zaktualizować GetCustomerInfo procedura przechowywana przez dodanie FOR XML AUTO Klauzula na końcu SELECT instrukcja, jak pokazano:

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

Wyniki wykonania procedura przechowywana są wyświetlane w polu listy.