Share via


Istemci uygulamaları için SOAP izleme desteği ekleme

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.

Ne zaman, geliştirme Web'de yerel XML Web Hizmetleri için istemci uygulamaları SQL Server, izleme ve örnek arasında değiş tokuş SOAP iletilerini gözlemek sorun giderme için yararlı bir araç olan SQL Server ve istemci uygulama.

Bu konu, istemci uygulaması projenizden SOAP izlemeyi destekleyen bir SOAP uzantısı üstbilgileri uygulayan bir örnek sınıf kitaplığı özellikleri Visual Studio 2005. Proje ile tümleşik olduğunda, bu uzantılar izleme ve SOAP isteği ve yanıtı iletisinin gerçek içeriğini görüntüleme.

Bu kitaplıkta varolan olarak eklenebilir. Visual Studio 2005 SOAP istemci projeleri. Bu, sağlanan örnek uygulamalar içerir Özgün HTTP SOAP istekleri gönderme için örnek uygulamalar.Sağlanan kavramsal ve yordamsal bilgiler alışık olmanız önerilir Sunucu yerel XML Web Hizmetleri istekleri dinlemek için ayarlama and Istemci uygulamaları yazma.

Ayrıca, SOAP iletilerini biçimi ile tam olarak bilmiyorsanız, aşağıdaki konulara bakın:

Not

Aşağıdaki yordam, varolan bir SOAP istemci uygulamayı kullanarak oluşturduğunuz varsayılmıştır. Visual Studio 2005 ve Web kullanılarak oluşturulan bir HTTP SOAP bitiş noktası başvurusu SQL Server, gösterildiği gibi Visual Studio 2005 istemcisi (C#) kullanarak, SOAP isteği gönderme.

SOAP izleme örnek kitaplığı, Visual Studio'nun projeye eklemek için

  1. Not Defteri'ni kullanarak kopyalayıp içeriğini C# kodu SQL SOAP izleme örnek Class Library listesi ve proje dosyalarını SOAP istemci içeren aynı klasörde "SqlSoapTracer.cs" adıyla kaydedin.

  2. Istemci bilgisayarda, gelen Microsoft Visual Studio 2005 program grubuna, Microsoft Visual Studio 2005'i başlatın.

  3. ' I tıklatın Açık proje.

  4. Göz atın ve SOAP istemci Proje (.csproj) dosyası seçin.

  5. Solution Explorer (Çözüm Gezgini) penceresinde, aşağıdaki adımları gerçekleştirin:

    1. Ada göre projeyi seçin, sağ tıklatın ve işaret Add) ve sonra seçim Varolan bir öğe Ekle.

    2. Içinde Varolan bir öğe Ekle iletişim kutusuna gidin ve 1. adımda kaydettiğiniz konuma SqlSoapTracer.cs dosyayı seçin.

    3. SELECT Tüm dosyaları göster genişletin.Web References düğüm ve Reference.cs dosyayı seçin.

  6. Kod Düzenleyicisi penceresinde giriş noktaları Web yöntemleri vardır bularak, Reference.cs dosyasını güncelleştirin.

    Ekliyorsanız, örneğin, örnek proje için SOAP izleme desteği sağlanan Visual Studio 2005 kullanarak SOAP istekleri gönderme istemci (C#), bu projede dahil çeşitli Web yöntemlerinin yayımlanmış Web yöntem giriş noktaları gibi görüntülenir:

    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. Web yöntemlerinin istemci kodu çalıştırdığınızda, SOAP izleme desteği eklemek için aşağıdakini ekleyin snoopattribute() doğrudan, izlemek istediğiniz girdi noktası her yöntem için önce Reference.cs kodu aşağıdaki kod satırlarını gösterilen arayın.

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

    Bu, bunlar yürütüldüğünde bu Web yöntemleri SOAP izlemeyi başlatır bir SOAP uzantısı kaydeder.

Uygulamanızı test için SOAP izleme desteği'ni kullanma

SOAP istemci uygulama çalıştırırken, önceki kod sağlanan SOAP izleme desteği Uzantıları'nı kullanmak için Visual Studio geliştirme ortamı'nı tıklatın, aşağıdaki adımları tamamlamalısınız:

  1. Kullanarak SQL Server Management Studio veya Osql yardımcı programı komut, saklı yordam veya kullanıcı tanımlı fonksiyonu, bilgisayarınızın bu noktadaki sınamak istediğiniz duyurmak için bir Web yöntem ekleyin.

    Daha fazla bilgi için bkz:Web'e SQL paylaşılan açıklamanızı.

  2. Içinde Visual Studio, kod, henüz yapmadıysanız, debug bir SOAP oluşturma ve istemci uygulama proje.

    Isteğe bağlı olarak, sağlanan örnek proje kullanabilirsiniz. Visual Studio 2005 istemcisi (C#) kullanarak, SOAP isteği gönderme.

  3. Ekleme SqlSoapTracer.cs sınıfı için önceki bölümde açıklandığı gibi proje.

  4. Kaydetmek için oluşturmak ve istemci uygulamanızın çalışması Visual Studio geliştirme ortamı'nı tıklatın.

    Uygulamanızı yeniden çalıştırarak, bir Windows Pano Görüntüleyici nesnesi oluşturulur.Etkinleştirdiğiniz Web yöntemlerinin izleme adım 3'te çalıştırıldığında, bu görüntüleyiciyi nesne için Web yöntemlerinin aşağıdakileri görüntüler:

    • Istemci kodu tarafından oluşturulan SOAP istemci istek iletisinin.

    • Yerel XML Web Hizmetleri için döndürülen gibi SOAP sunucu yanıt iletisini SQL Server.

    Pano içeriklerini, izleme aktivitesi ortaya çıktıktan sonra görüntülemek için , geçerli Windows Panosu'nun içeriğini Not Defteri'ne yapıştırabilirsiniz.

SOAP izleme desteği'nasıl çalışır?

Geri aramaları izleme mekanizması önceden kullanır ve nasıl bir parçası olan olayları, yerel bir XML Web Hizmetleri SQL Server uygulanır. Bu iki olay içerir: BeforeSerialize ve AfterSerialize.

Bu olaylar ve geri aramaları SOAP isteği ve onun karşılık gelen SOAP sunucudan yanıt alınamaması yakalanan ve bir çıkış akışı için yeniden yönlendirilmiş izin verir.Sağlanan kodu, çıkış için yeniden yönlendirilip bir System.Windows.Forms.Clipboard nesnesi.The Clipboard object receives and displays the SOAP istemci request and server response messages that are exchanged by executing Web methods that are directly preceded by snoopattribute() calls.

Istemci isteği ve yanıtı veren çıktısı SQL Server Yanıtta, benzer bir biçimde görünür SOAP isteği iletisinin yapısı and SOAP yanıtı iletisi yapısı.Yanıtta, yürütülen, Web yöntem başarılı de görünecektir, bu seri hale getirilmiş XML gibi sunucu tarafından üretilen herhangi bir sonuçlar çıktı.Hata durumunda, bir SOAP hata iletisi yapısı yerine, seri hale getirilmiş XML çıktı sunucu tarafından döndürülen yanıt içinde görünür.