Aracılığıyla paylaş


Ders 3: Web hizmeti erişme

Projenize Rapor Sunucusu Web hizmet için bir başvuru ekledikten sonra sonraki adım, Web hizmetinin proxy sınıfının örnek oluşturmaktır.Daha sonra Web hizmet yöntemlerini proxy sınıf içinde yöntemler arayarak erişebilirsiniz.Uygulamanız bu yöntemlerin çağırdığında, proxy sınıf kodu tarafından oluşturulan Visual Studio Web hizmet uygulamanız arasındaki iletişimin ele alır.

Önce Web hizmet's proxy sınıfının bir örneğini oluşturur. ReportingService2005. Sonra Web hizmet's bir çağrı yapar. GetProperties(String, array<Property[]) proxy sınıfını kullanma yöntem. Çağrı, ad ve açıklama bir örnek raporları, şirket satış almak için kullanır.

Not

Bir Web erişirken hizmet çalıştırma SQL Server ExpressGelişmiş hizmet s, "$ SQLExpress" için "ReportServer" yol eklemek gerekir. Örneğin:

http://<Server Name>/reportserver$sqlexpress/reportservice2005.asmx"

Web hizmetine erişmek için

  1. Önce ad (Module1.vb Program.cs dosyasına eklemeniz gerekir Visual Basic) ekleyerek bir using (Import içinde Visual Basic) yönergesini kod dosyası için. Bu yönerge kullanırsanız, ad türleri tam olarak nitelemek gerekmez.

  2. Bunu yapmak için , için kod dosyanızın başına aşağıdaki kodu ekleyin:

    Imports System
    Imports GetPropertiesSample.ReportService2005
    
    using System;
    using GetPropertiesSample.ReportService2005;
    
  3. Kod dosyanızın ad yönergesini girdikten sonra konsol uygulamanın ana yönteminde aşağıdaki kodu girin.Ayarlarken, sunucu adını değiştirmek emin URL özellik web hizmet örnek:

    Sub Main()
       Dim rs As New ReportingService2005
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials
       rs.Url = "http://<Server Name>/reportserver/reportservice2005.asmx"
    
       Dim name As New [Property]
       name.Name = "Name"
    
       Dim description As New [Property]
       description.Name = "Description"
    
       Dim properties(1) As [Property]
       properties(0) = name
       properties(1) = description
    
       Try
          Dim returnProperties As [Property]() = rs.GetProperties( _
             "/AdventureWorks Sample Reports/Company Sales", properties)
    
          Dim p As [Property]
          For Each p In returnProperties
              Console.WriteLine((p.Name + ": " + p.Value))
          Next p
    
       Catch e As Exception
          Console.WriteLine(e.Message)
       End Try
    End Sub
    
    static void Main(string[] args)
    {
       ReportingService2005 rs = new ReportingService2005();
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
       rs.Url = "http://<Server Name>/reportserver/reportservice2005.asmx";
    
       Property name = new Property();
       name.Name = "Name";
    
       Property description = new Property();
       description.Name = "Description";
    
       Property[] properties = new Property[2];
       properties[0] = name;
       properties[1] = description;
    
       try
       {
          Property[] returnProperties = rs.GetProperties(
          "/AdventureWorks Sample Reports/Company Sales",properties);
    
          foreach (Property p in returnProperties)
          {
             Console.WriteLine(p.Name + ": " + p.Value);
          }
       }
    
       catch (Exception e)
       {
          Console.WriteLine(e.Message);
       }
    }
    
  4. Çözüm olarak kaydedin.

Örneklerde örnek kod GetProperties(String, array<Property[]) örnek raporda, şirket satış özelliklerini almak için Web hizmet yöntem. The GetProperties(String, array<Property[]) yöntem takes two arguments: dizisi ve özellik bilgileri almak istediğiniz raporun adıÖzellik [. özellik adları, değerleri içeren nesneleri almak istediğinizde. Yöntem de bir dizi döndürür. Özellik [. nesne adları ve özellikleri bağımsız değişkeninde belirtilen özelliklerin değerlerini içerir.

Not

Boş bir sağlarsanız Özellik [. dizi özelliklerini bağımsız değişkeni için tüm kullanılabilir özellikleri döndürülür.

Önceki örnekte kullanır GetProperties(String, array<Property[]) adı ve açıklaması, örnek raporda, şirket satış dönmek için yöntem. Kod sonra kullanan bir foreach döngü, özellikleri ve değerleri, konsola yazılamıyor.

Oluşturma ve Rapor Sunucusu Web hizmet için bir proxy sınıf'ı kullanma hakkında daha fazla bilgi için bkz: Web hizmeti proxy oluşturma.