Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede acceder a la funcionalidad completa del servidor de informes a través de la API SOAP de Reporting Services. Dado que es un servicio web, se puede acceder fácilmente a la API SOAP para proporcionar características de informes empresariales a las aplicaciones empresariales personalizadas. Puede acceder al servicio web del servidor de informes desde una aplicación web de la misma manera que accede a la API SOAP desde una aplicación de Microsoft Windows. Con Microsoft .NET Framework, puede generar una clase de proxy que exponga las propiedades y los métodos del servicio web del servidor de informes y le permite usar una infraestructura y herramientas conocidas para crear aplicaciones empresariales en la tecnología de Reporting Services.
La funcionalidad de administración de informes de Reporting Services es tan fácilmente accesible desde una aplicación web como desde una aplicación de Windows. Desde una aplicación web, puede agregar y quitar elementos de la base de datos del servidor de informes, establecer la seguridad de elementos, modificar elementos de base de datos del servidor de informes, administrar la programación y la entrega, etc.
Habilitación de la suplantación
El primer paso para configurar la aplicación web es habilitar la suplantación desde el cliente del servicio web. Con la suplantación, las aplicaciones ASP.NET pueden ejecutarse con la identidad del cliente en cuyo nombre funcionan. ASP.NET se basa en Microsoft Internet Information Services (IIS) para autenticar al usuario y pasar un token autenticado a la aplicación de ASP.NET o, si no puede autenticar al usuario, pase un token no autenticado. En cualquier caso, la aplicación ASP.NET suplanta el token que se reciba si la suplantación está habilitada. Puede habilitar la suplantación en el cliente modificando el archivo Web.config de la aplicación cliente de la siguiente manera:
<!-- Web.config file. -->
<identity impersonate="true"/>
Nota:
La suplantación está deshabilitada de forma predeterminada.
Para obtener más información sobre ASP.NET suplantación, consulte la documentación del SDK de Microsoft .NET Framework.
Administración del servidor de informes mediante la API SOAP
También puede usar la aplicación web para administrar un servidor de informes y su contenido. El Administrador de informes, incluido con Reporting Services, es un ejemplo de una aplicación web que se crea completamente mediante ASP.NET y la API SOAP de Reporting Services. Puede agregar la funcionalidad de administración de informes del Administrador de informes a las aplicaciones web personalizadas. Por ejemplo, puede que desee devolver una lista de informes disponibles en la base de datos del servidor de informes y mostrarlos en un control ASP.NET Listbox entre los que los usuarios puedan elegir. El código siguiente se conecta a la base de datos del servidor de informes y devuelve una lista de elementos de la base de datos del servidor de informes. A continuación, los informes disponibles se agregan a un control Listbox, que muestra la ruta de acceso de cada informe.
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);
}
}
Véase también
Creación de aplicaciones con el servicio web y .NET Framework
Integración de Reporting Services en aplicaciones
Administrador de informes (Modo nativo de SSRS)
Uso de la API SOAP en una aplicación Windows