Partager via


Utilisation de l’API SOAP dans une application web

Vous pouvez accéder à toutes les fonctionnalités du serveur de rapports via l’API SOAP Reporting Services. Étant donné qu’il s’agit d’un service web, l’API SOAP est facilement accessible pour fournir des fonctionnalités de création de rapports d’entreprise à vos applications métier personnalisées. Vous accédez au service Web Report Server à partir d’une application web de la même façon que vous accédez à l’API SOAP à partir d’une application Microsoft Windows. À l’aide de Microsoft .NET Framework, vous pouvez générer une classe proxy qui expose les propriétés et les méthodes du service Web Report Server et vous permet d’utiliser une infrastructure et des outils familiers pour créer des applications métier sur la technologie Reporting Services.

La fonctionnalité de gestion des rapports Reporting Services est tout aussi facilement accessible à partir d’une application web qu’à partir d’une application Windows. À partir d’une application web, vous pouvez ajouter et supprimer des éléments de la base de données du serveur de rapports, définir la sécurité des éléments, modifier les éléments de base de données du serveur de rapports, gérer la planification et la remise, etc.

Activation de l’emprunt d’identité

La première étape de la configuration de votre application web consiste à activer l’emprunt d’identité à partir du client de service web. Avec l’emprunt d’identité, ASP.NET applications peuvent s’exécuter avec l’identité du client pour lequel elles fonctionnent. ASP.NET s’appuie sur Microsoft Internet Information Services (IIS) pour authentifier l’utilisateur et transmettre un jeton authentifié à l’application ASP.NET ou, s’il ne parvient pas à authentifier l’utilisateur, transmettez un jeton non authentifié. Dans les deux cas, l’application ASP.NET emprunte l’identité du jeton reçu si l’emprunt d’identité est activé. Vous pouvez activer l’emprunt d’identité sur le client en modifiant le fichier Web.config de l’application cliente comme suit :

<!-- Web.config file. -->  
<identity impersonate="true"/>  

Remarque

L’emprunt d’identité est désactivé par défaut.

Pour plus d’informations sur ASP.NET l’emprunt d’identité, consultez la documentation du Kit de développement logiciel (SDK) Microsoft .NET Framework.

Gestion du serveur de rapports à l’aide de l’API SOAP

Vous pouvez également utiliser votre application web pour gérer un serveur de rapports et son contenu. Le Gestionnaire de rapports, inclus avec Reporting Services, est un exemple d’application web entièrement générée à l’aide de ASP.NET et de l’API SOAP Reporting Services. Vous pouvez ajouter la fonctionnalité de gestion des rapports du Gestionnaire de rapports à vos applications web personnalisées. Par exemple, vous pouvez retourner une liste de rapports disponibles dans la base de données du serveur de rapports et les afficher dans un contrôle ASP.NET Listbox pour que vos utilisateurs choisissent parmi eux. Le code suivant se connecte à la base de données du serveur de rapports et retourne une liste d’éléments dans la base de données du serveur de rapports. Les rapports disponibles sont ensuite ajoutés à un contrôle Listbox, qui affiche le chemin d’accès de chaque rapport.

Private Sub Page_Load(sender As Object, e As System.EventArgs)  
   ' Create a Web service proxy object and set credentials  
   Dim rs As New ReportingService2005()  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
  
   ' Return a list of catalog items in the report server database  
   Dim items As CatalogItem() = rs.ListChildren("/", True)  
  
   ' For each report, display the path of the report in a Listbox  
   Dim ci As CatalogItem  
   For Each ci In  items  
      If ci.Type = ItemTypeEnum.Report Then  
         catalogListBox.Items.Add(ci.Path)  
      End If  
   Next ci  
End Sub ' Page_Load   
private void Page_Load(object sender, System.EventArgs e)  
{  
   // Create a Web service proxy object and set credentials  
   ReportingService2005 rs = new ReportingService2005();  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
  
   // Return a list of catalog items in the report server database  
   CatalogItem[] items = rs.ListChildren("/", true);  
  
   // For each report, display the path of the report in a Listbox  
   foreach(CatalogItem ci in items)  
   {  
      if (ci.Type == ItemTypeEnum.Report)  
         catalogListBox.Items.Add(ci.Path);  
   }  
}  

Voir aussi

Création d’applications à l’aide du service web et du .NET Framework
Intégration de Reporting Services dans des applications
Gestionnaire de rapports (mode natif SSRS)
Utilisation de l’API SOAP dans une application Windows