Share via


Visual Studio 2005 istemcisi (C#) kullanarak, SOAP isteği gönderme

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.

Bu konu, bir örnek uygulama açıklar bir Visual Studio 2005 istemci örneğine SOAP istekleri gönderir. SQL Server ve SOAP yanıtı işler. Oluşturduğunuz Bitiş yöntemleri için gönderilen istekleri Yerel XML Web Hizmetleri istekleri gönderme için örnek uygulamalar.

Bu uygulamayı kullanmak için , sağlanan kavramsal ve yordamsal bilgiler alışık olmanız önerilir Sunucu yerel XML Web Hizmetleri istekleri dinlemek için ayarlama ve Istemci uygulamaları yazma.

Not

Bu örnek uygulama bazı ilk kurulum gerektirir.Örnek uygulamayla devam etmeden önce açıklanan adımları izleyin. Yerel XML Web Hizmetleri istekleri gönderme için örnek uygulamalar.

SOAP isteği gönderme

Bu uygulamada, düğmeleri ve metin kutuları, son nokta için SOAP istekleri göndermek için gerekli olan bir form oluşturun.

Bir SOAP isteği için GetCustomerInfo depolanmış yordamın gönderilir, metin kutusu içinde sağlanan Müşteri No değeri olarak bir giriş parametresi olarak geçirilir.Değer, metin kutusuna belirtilmezse, boş bir dize kabul edilir ve olarak boş bir dize olan müşteriler, MüşteriNo değeri döndürdü.BOŞ (null) girilirse, müşteriler olan bir MüşteriNo NULL döndürdü.Bu durumda, Not xsi: nil 'true' = özniteliği, bir NULL parametresi değeri belirtmek için SOAP isteği otomatik olarak eklenir.

The GetCustomerInfo saklı yordam is designed to show how to handle input, output parameters, error messages, and sonuçlar.Uygulama da kullanıcı tanımlı bir işlev için SOAP istekleri gönderir.Ayrıca, aşağıdaki özel sorgular için SOAP istekleri gönderir:

  • Tüm çalışanların almak için SELECT sorgusu.

  • Çalışanın, ID giriş olarak sağlanan almak için SELECT sorgusu.

SOAP yanıtları işleme

Bir SOAP isteği sonuçlarını nesne dizi iade edildiğinde, istemci uygulaması dizideki her nesne türü tanımlar ve sonra nesneyi buna göre işler.Uygulama, her nesne dizi öğesi hakkında aşağıdaki bilgileri görüntüler:

  • Dizi öğesinin değeri veri türü.

  • Değer: Sonuç kümesi, dönüş kodu, çıkış parametresi değerleri vb..

Bir çalışma oluşturma örneği

Bu bir örnek oluşturmak için izlemeniz gereken birçok adımları nedeniyle, uygulama beş bölümlere ayrılmıştır:

  • Bölüm 1: yürütmekGetCustomerInfo saklı yordam

  • Bölüm 2: SP yürütmek

  • Bölüm 3: Hiçbir parametre ile bir SQL sorgusu yürütmek

  • Bölüm 4: Parametreleri ile SQL sorgusu yürütmek

  • Bölüm 5: Kullanıcı tanımlı işlev

Her bölümü yönergeler sağlar.Her bölümü sona erdikten sonra uygulama sınayabilirsiniz.

Bölüm 1: GetCustomerInfo yürütmek saklı yordamının

  1. Istemci bilgisayarda, gelen Microsoft Visual Studio 2005 Başlangıç program grubuVisual Studio 2005.

  2. ' I tıklatın Yeni proje.

  3. SELECT Visual C# Projects as the Proje türü.

  4. NativeSOAPApp1 proje adını belirtin.

  5. Projeyi kaydetmek istediğiniz konumu belirtin.

  6. SELECT Windows uygulama şablon olarak sonra'ı tıklatınTamam.

  7. Solution Explorer (Çözüm Gezgini) penceresinde, sağ tıklatın. Başvurular) ve sonra seçim Web Başvurusu Ekle.Web başvuru eklemek için başka bir yolu olduğunu projesi Seçim menüsündeWeb Başvurusu Ekle.

  8. Içinde Adres kutusuna https://Server/sql?wsdl yazın ve ENTER tuşuna basın.URL'DE sunucu adı girmeniz gerektiğini unutmayın.

  9. ' I tıklatın Başvuru Ekle.Bu gerekli bir proxy sınıf oluşturur, böylece WSDL belgesinde yöntemleri çağırabilir.

Bölüm 2: SP yürütmek

  1. Görünüm menüsünü tıklatın. Araç kutusu Form1.cs [Tasarım] bölmesinde araç açın.Isteğe bağlı olarak, araç kutusunu açmak için CTRL + ALT + X tuşlarına basabilirsiniz.

  2. Form1'de, bir metin kutusu (ekleyin...textBox1), a button (button1) ve (liste kutusulistBox1).

  3. Metin kutusunu sağ tıklatın ve sonra seçin. özellikleri.Değişiklik Text değeritextBox1 to 1.Müşteri No varsayılan değer budur.

  4. Sağ tıklatma button1) ve sonra seçim özellikleri.

    1. Değişiklik Text özellik değeributton1 ExecSP için.

    2. (DeğiştirmeAd) özellik değeri için ExecSP.

  5. Liste kutusunu (sağ tıklatın.listBox1) ve seçinözellikleri.Değişiklik HorizontalScrollbar özellik değeriTrue.

  6. Çift Tıklat ExecSP.

  7. Kodu alanından kopyalar. C# kodu ExecSP için listeleme bu işlev için.

  8. Kodu güncelleştirin.Başvuruları değiştirme server ne zaman tanımlanan ana bilgisayar adıyla CREATE bitiş NOKTASı'nı kullanarak, bitiş noktası oluşturuldu.

  9. Kaydetmek ve projeyi derleyin.Daha fazla bilgi için "Kod derleniyor." bir önceki bölüme bakın.

Bölüm 3: Parametreler olmadan SQL sorgusu yürütmek

Çalışanlardan alan ad hoc sorgusu (FOR XML sorgusu) istemci uygulamasının bu bölümü yürütür Çalışan tablo in AdventureWorks Veritabanı.

  1. Form1 içinde [Tasarım] sekmesinde, başka bir düğme ( eklemebutton1).

  2. Bu yeni düğmeyi sağ fare düğmesiyle tıklatın ve sonra seçin. özellikleri.

    1. Değişiklik Text özellik değeributton1 BatchQueryFindAllEmps için.

    2. (DeğiştirmeAd) özellik değeri için BatchQueryFindAllEmps.

  3. Çift Tıklat BatchQueryFindAllEmps.

  4. Kodu alanından kopyalar. C# kodu BatchQueryFindAllEmps için listeleme bu işlev için.

  5. Kodu güncelleştirin.Başvuruları değiştirme server ne zaman tanımlanan ana bilgisayar adıyla CREATE bitiş NOKTASı'nı kullanarak, bitiş noktası oluşturuldu.

  6. Kaydetmek ve projeyi derleyin.Daha fazla bilgi için "Kod derleniyor." bir önceki bölüme bakın.

Bölüm 4: Parametreler içeren SQL sorgusu yürütmek

SOAP isteği ad hoc sorgu için sorgu parametresi içeren bu bölümü önceki bölümüne benzer.FOR XML sorgu, belirtilen bir çalışan KIMLIğI için çalışan bilgilerini alır.

  1. Form1 içinde [Tasarım] sekmesinde, ( düğme eklemebutton1).

  2. Bu yeni düğmeyi sağ fare düğmesiyle tıklatın ve sonra seçin. özellikleri.

    1. Değişiklik Text özellik değeributton1 BatchQueryFindAnEmp için.

    2. (DeğiştirmeAd) özellik değeri için BatchQueryFindAnEmp.

  3. Çift Tıklat BatchQueryFindAnEmp.

  4. Kodu alanından kopyalar. C# kodu BatchQueryFindAnEmp için listeleme bu işlev için.

  5. Kodu güncelleştirin.Başvuruları değiştirme server ne zaman tanımlanan ana bilgisayar adıyla CREATE bitiş NOKTASı'nı kullanarak, bitiş noktası oluşturuldu.

  6. Kaydetmek ve projeyi derleyin.Daha fazla bilgi için "Kod derleniyor." bir önceki bölüme bakın.

Bölüm 5: Kullanıcı tanımlı işlev yürütmek

Bu bölüm, istemci uygulaması bir SOAP isteği gönderir UDFReturningScalar Web yöntem.Bu Web yöntem, karşılık gelen tamsayı değerini döndürür; kullanıcı tanımlı bir işlev.

  1. Form1 içinde [Tasarım] sekmesinde, bir düğme eklemek için**(button1)**.

  2. Bu yeni düğmeyi sağ fare düğmesiyle tıklatın ve sonra seçin. özellikleri.

    1. Değişiklik Text özellik değeributton1 ExecUDFReturningScalar için.

    2. Değişiklik (adı) ExecUDFReturningScalar için özellik değeri.

  3. Çift Tıklat ExecUDFReturningScalar.

  4. Kod Ekle C# kodu ExecUDFReturningScalar için listeleme bu işlev için.

  5. Kodu güncelleştirin.Başvuruları değiştirme server ne zaman tanımlanan ana bilgisayar adıyla CREATE bitiş NOKTASı'nı kullanarak, bitiş noktası oluşturuldu.

  6. Kaydetmek ve projeyi derleyin.Daha fazla bilgi için "Kod derleniyor." bir önceki bölüme bakın.

  7. ' I tıklatın ExecUDFReturningScalar.Kullanıcı tanımlı işlevin dönüş değeri, liste kutusunda görüntülenir.

Bitiş noktası, tümleşik kimlik doğrulaması belirtir, aşağıdaki satırı kodu görünür: proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

Kullanıyorsanız SQL Server kimlik bilgileri doğrulaması, kaldırma bu öneririz satırı ve bunu sağlamak için WS-Security üstbilgileri uygulayan kodla değiştirin SQL Server-kimlik bilgileri doğrulaması bilgileri temel alan. Daha fazla bilgi için bkz:SOAP üzerinde SQL Server kimlik doğrulaması.

Not

Ya da kullanıyorsanız SQL Server kimlik bilgileri doğrulaması veya temel kimlik bilgileri doğrulaması SQL Server Aksi durumda şifresiz metin olarak görünür olacak kullanıcı kimlik bilgileri bilgilerini güvenli şifreli aktarım için Güvenli Yuva Katmanı (SSL) kullanmanız gerekir. SSL ile HTTP bitiş noktalarını kullanmasını etkinleştirme hakkında daha fazla bilgi için bkz: SSL kullanmak için sertifika yapılandırma.

Kod Derleniyor

SQL Server yükler .NET Framework 2.0 yükleme işleminin bir parçası olarak. Bu derleme yönergeleri en son kullanın... .NET Framework. (En yüksek sayıyı \WINDOWS\Microsoft.NET\Framework klasör budur.)

Örnek kodu derlemek için

  1. Tüm proje olarak kaydedin.

  2. komut istemi istemini açın ve proje kaydedildiği klasörü bulun.

  3. Bu klasörden, Web Reference\Server alt Reference.cs dosyayı kopyalayın.(Örneğin, "Web Reference\Server\Reference.cs" kopyalayın.) Form1.cs ve Reference.cs dosyalarının aynı klasörde olması gerekir.

  4. Kodu derlemek ve yürütülebilir (.exe) dosyasının adını belirtin.Örneğin, çalıştırılabilir dosyanın adını NativeSOAPApp1.exe, komut satırı aşağıdaki gibi olur:

    \WINDOWS\Microsoft.NET\Framework\v2.0.xxxxx\csc.exe /out:NativeSOAPApp1.exe Form1.cs Reference.cs

    xxxxx sürümüne karşılık gelen klasör sayıdır .NET Framework.

    Bu, geçerli dizinde yürütülebilir dosyayı (NativeSOAPApp1.exe) oluşturur.

Varsa, önceki bir sürüm kullanarak .NET Framework, bir çalışma zamanı hatası alabilirsiniz. Bu durum ortaya çıkarsa, güncelleştirmeyi deneyin GetCustomerInfo ekleyerek yordamı depolanır.FOR XML AUTO yan tümce sonunda SELECT gösterilen deyim:

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

saklı yordam Yürütme sonuçlarını, liste kutusunda görüntülenir.