Integrare Reporting Services tramite SOAP - Applicazione Web
È possibile accedere alle funzionalità complete del server di report tramite l'API SOAP di Reporting Services. L'API SOAP è un servizio Web e, in quanto tale, è possibile accedervi in modo semplice per fornire caratteristiche di creazione di report aziendali alle applicazioni aziendali personalizzate. È possibile accedere al servizio Web ReportServer da un'applicazione Web nello stesso modo in cui si accede all'API SOAP da un'applicazione Microsoft Windows. Usando Microsoft .NET Framework, è possibile generare una classe proxy che espone le proprietà e i metodi del servizio Web ReportServer. È quindi possibile usare un'infrastruttura e strumenti familiari per creare applicazioni aziendali sulla tecnologia Reporting Services.
La funzionalità di gestione dei report di Reporting Services è accessibile facilmente da un'applicazione Web o da un'applicazione Windows. Da un'applicazione Web, è possibile aggiungere e rimuovere gli elementi al e dal database del server di report, impostare la sicurezza degli elementi, modificare gli elementi del database del server di report, gestire le pianificazione e il recapito e altro ancora.
Abilitare la rappresentazione
Il primo passaggio per la configurazione dell'applicazione Web consiste nell'attivare la rappresentazione dal client del servizio Web. Con la rappresentazione, ASP.NET applicazioni possono essere eseguite con l'identità del client per conto del quale operano. ASP.NET si basa su Microsoft Internet Information Services (IIS) per autenticare l'utente e passare un token autenticato all'applicazione ASP.NET o, nel caso in cui non sia possibile autenticare l'utente, passare un token non autenticato. In entrambi i casi, l'applicazione ASP.NET rappresenta il token ricevuto, se la rappresentazione è abilitata. È possibile abilitare la rappresentazione nel client modificando il file Web.config dell'applicazione client come indicato di seguito:
<!-- Web.config file. -->
<identity impersonate="true"/>
Nota
Per impostazione predefinita, la rappresentazione è disabilitata.
Per altre informazioni sulla rappresentazione di ASP.NET, vedere la documentazione di Microsoft .NET Framework SDK.
Gestire il server di report usando l'API SOAP
È inoltre possibile utilizzare l'applicazione Web per gestire un server di report e i relativi contenuti. Gestione report, incluso in Reporting Services, è un esempio di applicazione Web compilata usando ASP.NET e l'API SOAP di Reporting Services. È possibile aggiungere le funzionalità di Gestione report alle applicazioni Web personalizzate. È ad esempio possibile fare in modo che venga restituito un elenco di report disponibili nel database del server di report e visualizzarli in un controllo Listbox ASP.NET per consentire agli utenti di scegliere i report dall'elenco. Nel codice seguente viene eseguita la connessione al database del server di report e viene restituito un elenco di elementi disponibili nel database del server di report. I report disponibili vengono aggiunti quindi a un controllo ListBox, in cui viene visualizzato il percorso di ogni report.
È inoltre possibile utilizzare l'applicazione Web per gestire un server di report e i relativi contenuti. Il portale Web, incluso in Reporting Services, è un esempio di applicazione Web che gestisce la maggior parte delle attività eseguite in genere tramite Reporting Services. È possibile aggiungere le funzionalità di gestione report del portale Web alle applicazioni Web personalizzate. È ad esempio possibile fare in modo che venga restituito un elenco di report disponibili nel database del server di report e visualizzarli in un controllo Listbox ASP.NET per consentire agli utenti di scegliere i report dall'elenco. Nel codice seguente viene eseguita la connessione al database del server di report e viene restituito un elenco di elementi disponibili nel database del server di report. I report disponibili vengono aggiunti quindi a un controllo ListBox, in cui viene visualizzato il percorso di ogni report.
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);
}
}