Partager via


Leçon 3 : Accès au service web

Après avoir ajouté une référence au service Web Report Server à votre projet, l'étape suivante consiste à créer une instance de la classe proxy du service Web. Vous pouvez alors accéder aux méthodes de ce service Web en les appelant dans la classe proxy. Lorsque votre application appelle ces méthodes, le code de classe proxy généré par Visual Studio gère les communications entre votre application et le service Web.

Vous allez tout d'abord créer une instance de la classe proxy du service Web ReportingService2010. Vous allez ensuite appeler la méthode GetProperties du service Web en utilisant la classe proxy. Vous utiliserez cet appel pour extraire le nom et la description de l'un des exemples de rapports appelé Company Sales.

Notes

Lorsque vous accédez à un service Web exécuté sur SQL Server Express avec Advanced Services, vous devez ajouter « $SQLExpress » au chemin d’accès « ReportServer ». Par exemple :

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

Pour accéder au service Web

  1. Vous devez d’abord ajouter l’espace de noms au fichier Program.cs (Module1.vb en Visual Basic) en ajoutant une using directive (Imports en Visual Basic) au fichier de code. Si vous utilisez cette directive, il n'est pas nécessaire de qualifier complètement les types dans l'espace de noms.

  2. Pour ce faire, ajoutez le code suivant au début de votre fichier de code :

    Imports System  
    Imports GetPropertiesSample.ReportService2010  
    
    using System;  
    using GetPropertiesSample.ReportService2010;  
    
  3. Après avoir entré la directive d'espace de noms dans votre fichier de code, entrez le code suivant dans la méthode Main de votre application console. Pensez à modifier le nom de votre serveur au moment de définir la propriété Url de l'instance du service Web :

    Sub Main()  
       Dim rs As New ReportingService2010  
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
       rs.Url = "http://<Server Name>/reportserver/reportservice2010.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 2012 Sample Reports/Company Sales 2012", 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)  
    {  
       ReportingService2010 rs = new ReportingService2010();  
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
       rs.Url = "http://<Server Name>/reportserver/reportservice2010.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 2012 Sample Reports/Company Sales 2012",properties);  
    
          foreach (Property p in returnProperties)  
          {  
             Console.WriteLine(p.Name + ": " + p.Value);  
          }  
       }  
    
       catch (Exception e)  
       {  
          Console.WriteLine(e.Message);  
       }  
    }  
    
  4. Enregistrez la solution.

L'exemple de code de cette procédure pas à pas utilise la méthode GetProperties du service Web pour récupérer les propriétés de l'exemple de rapport intitulé Company Sales 2012. La GetProperties méthode accepte deux arguments : le nom du rapport pour lequel vous souhaitez récupérer les informations de propriété et un tableau d’objets Property[] qui contient les noms des propriétés dont vous souhaitez récupérer les valeurs. Cette méthode renvoie également un tableau d'objets Property[] qui contient les noms et les valeurs des propriétés spécifiées dans l'argument des propriétés.

Notes

Si vous fournissez un tableau Property[] vide pour l'argument des propriétés, toutes les propriétés disponibles sont renvoyées.

Dans l'exemple précédent, le code utilise la méthode GetProperties pour renvoyer le nom et la description de l'exemple de rapport intitulé Company Sales 2012. Il utilise ensuite une boucle foreach pour écrire les propriétés et les valeurs dans la console.

Pour plus d'informations sur la création et l'utilisation d'une classe proxy pour le service Web Report Server, consultez Creating the Web Service Proxy.

Voir aussi

Leçon 4 : Exécution de l’application (VB-VC#)
Accès au service Web Report Server avec Visual Basic ou Visual C# (didacticiel SSRS)