Teilen über


Integrieren von Reporting Services mithilfe von SOAP – Webanwendung

Über die Reporting Services-SOAP-API können Sie auf alle Funktionen des Berichtsservers zugreifen. Da es sich um einen Webdienst handelt, kann problemlos auf die SOAP-API zugegriffen werden, um Funktionen zur Unternehmensberichterstellung für Ihre benutzerdefinierten Geschäftsanwendungen bereitzustellen. Wenn Sie über eine Webanwendung auf den Report Server-Webdienst zugreifen, gehen Sie ganz ähnlich vor, als würden Sie über eine Microsoft Windows-Anwendung auf die SOAP-API zugreifen. Mithilfe von Microsoft .NET Framework können Sie eine Proxyklasse generieren, die die Eigenschaften und Methoden des Report Server-Webdiensts verfügbar macht. Anschließend können Sie eine vertraute Infrastruktur und Tools verwenden, um Geschäftsanwendungen auf reporting Services-Technologie zu erstellen.

Auf die Berichtsverwaltungsfunktionen von Reporting Services kann von einer Webanwendung oder aus einer Windows-Anwendung aus problemlos zugegriffen werden. Wenn Sie mit einer Webanwendung arbeiten, können Sie unter anderem Elemente zur Berichtsserver-Datenbank hinzufügen oder daraus entfernen, Einstellungen für die Elementsicherheit festlegen, Elemente in der Berichtsserver-Datenbank ändern und die Zeitplanung und Übermittlung verwalten.

Identitätswechsel aktivieren

Der erste Schritt beim Konfigurieren der Webanwendung besteht darin, den Identitätswechsel vom Webdienstclient aus zu aktivieren. Bei Identitätswechsel können ASP.NET Anwendungen mit der Identität des Clients ausgeführt werden, in dessen Auftrag sie tätig sind. ASP.NET nutzt Microsoft Internetinformationsdienste (Internet Information Services, IIS), um den Benutzer zu authentifizieren und ein authentifiziertes Token an die ASP.NET-Anwendung zu übergeben oder ein nicht authentifiziertes Token zu übergeben, falls der Benutzer nicht authentifiziert werden kann. In jedem dieser Fälle nimmt die ASP.NET-Anwendung die Identität des jeweils empfangenen Tokens an, wenn der Identitätswechsel aktiviert ist. Sie können den Identitätswechsel auf dem Client aktivieren, indem Sie die Datei Web.config der Clientanwendung folgendermaßen ändern:

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

Hinweis

Der Identitätswechsel ist standardmäßig deaktiviert.

Weitere Informationen zum ASP.NET-Identitätswechsel finden Sie in der Microsoft .NET Framework-SDK-Dokumentation.

Verwalten des Berichtsservers mithilfe der SOAP-API

Sie können die Webanwendung auch verwenden, um einen Berichtsserver und seinen Inhalt zu verwalten. Der Berichts-Manager, der in Reporting Services enthalten ist, ist ein Beispiel für eine Webanwendung, die mithilfe von ASP.NET und der SOAP-API für Reporting Services erstellt wird. Sie können den benutzerdefinierten Webanwendungen die Berichtsverwaltungsfunktionalität des Berichts-Managers hinzufügen. Sie sollten beispielsweise eine Liste der verfügbaren Berichte in der Berichtsserver-Datenbank zurückgeben und diese Berichte in einem -ASP.NET Listbox-Steuerelement anzeigen, in dem die Benutzer eine Auswahl treffen können. Der folgende Code stellt eine Verbindung zur Berichtsserver-Datenbank her und gibt eine Liste der Elemente in der Berichtsserver-Datenbank zurück. Die verfügbaren Berichte werden dann zu einem ListBox-Steuerelement hinzugefügt, das für jeden Bericht eine Pfadangabe anzeigt.

Sie können die Webanwendung auch verwenden, um einen Berichtsserver und seinen Inhalt zu verwalten. Das Webportal, das in Reporting Services enthalten ist, ist ein Beispiel für eine Webanwendung, die die meisten Aufgaben verwaltet, die Sie normalerweise mit Reporting Services ausführen würden. Sie können den benutzerdefinierten Webanwendungen die Berichtsverwaltungsfunktionalität des Webportals hinzufügen. Sie sollten beispielsweise eine Liste der verfügbaren Berichte in der Berichtsserver-Datenbank zurückgeben und diese Berichte in einem -ASP.NET Listbox-Steuerelement anzeigen, in dem die Benutzer eine Auswahl treffen können. Der folgende Code stellt eine Verbindung zur Berichtsserver-Datenbank her und gibt eine Liste der Elemente in der Berichtsserver-Datenbank zurück. Die verfügbaren Berichte werden dann zu einem ListBox-Steuerelement hinzugefügt, das für jeden Bericht eine Pfadangabe anzeigt.

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);  
   }  
}  

Erstellen von Anwendungen mit dem Webdienst und .NET Framework
Integrating Reporting Services into Applications (Integration von Reporting Services in Anwendungen)
Verwenden der SOAP-API in einer Windows-Anwendung