Compartir a través de


Uso de la API SOAP en una aplicación Windows

Puede acceder a la funcionalidad completa del servidor de informes a través de la API SOAP de Reporting Services. La API SOAP es un servicio web y, como tal, se puede acceder fácilmente para proporcionar características de informes empresariales a las aplicaciones empresariales personalizadas. Puede acceder al servicio web en una aplicación de Windows simplemente escribiendo código que realiza llamadas al servicio. Con Microsoft .NET Framework, puede generar una clase de proxy que exponga las propiedades y los métodos del servicio web y le permita usar una infraestructura y herramientas conocidas para crear aplicaciones empresariales basadas en la tecnología de Reporting Services.

Integración de la funcionalidad de administración de informes mediante formularios Windows Forms

A diferencia del acceso url, la API SOAP expone el conjunto completo de funciones de administración que están disponibles a través del servidor de informes. Esto significa que toda la funcionalidad administrativa del Administrador de informes está disponible para los desarrolladores a través de SOAP. Por lo tanto, puede desarrollar una herramienta de administración y administración completa mediante Windows Forms. Por ejemplo, en la aplicación Windows, es posible que quiera permitir que los usuarios recuperen el contenido del espacio de nombres del servidor de informes. Para ello, puede usar el método de servicio ListChildren web para mostrar todos los elementos de la base de datos del servidor de informes y, a continuación, usar un control Listview, Treeview o Combobox para mostrar esos elementos a los usuarios. Es posible que se use el siguiente código de servicio web para recuperar la lista actual de informes disponibles en la carpeta Mis informes de un usuario cuando un usuario hace clic en un botón en un formulario:

' Button click event that retrieves a list of reports from  
' the My Reports folder and displays them in a combo box  
Private Sub listReportsButton_Click(sender As Object, e As System.EventArgs)  
   ' Create a new Web service object and set credentials  
   ' to Windows Authentication  
   Dim rs As New ReportingService2010()  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
  
   ' Return the list of items in My Reports  
   Dim items As CatalogItem() = rs.ListChildren("/Adventureworks 2008 Sample Reports", False)  
  
   Dim ci As CatalogItem  
   For Each ci In  items  
      ' If the item is a report, add it to   
      ' a combo box  
      If ci.TypeName = "Report" Then  
         catalogComboBox.Items.Add(ci.Name)  
      End If  
   Next ci  
End Sub 'listReportsButton_Click  
// Button click event that retrieves a list of reports from  
// the My Reports folder and displays them in a combo box  
private void listReportsButton_Click(object sender, System.EventArgs e)  
{  
   // Create a new Web service object and set credentials  
   // to Windows Authentication  
   ReportingService2010 rs = new ReportingService2010();  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  
  
   // Return the list of items in My Reports  
   CatalogItem[] items = rs.ListChildren("/Adventureworks 2008 Sample Reports", false);  
  
   foreach (CatalogItem ci in items)  
   {  
      // If the item is a report, add it to   
      // a combo box  
      if (ci.TypeName == "Report")  
         catalogComboBox.Items.Add(ci.Name);  
   }  
}  

Desde allí, puede permitir a los usuarios seleccionar el informe en el cuadro combinado y obtener una vista previa del informe en el formulario mediante un control de explorador web o un control de imagen.

Habilitación de la visualización y navegación de informes mediante formularios Windows Forms

Hay dos métodos disponibles para integrar informes en las aplicaciones de Windows Forms.

Puede usar la API SOAP para representar informes en cualquiera de los formatos de representación admitidos mediante el Render método . Hay pequeñas desventajas para habilitar la visualización y navegación de informes a través de SOAP:

  • No puede aprovechar la funcionalidad integrada de la barra de herramientas del informe que se incluye con el Visor HTML a través del acceso URL.

  • Si se representa en HTML, debe representar por separado cualquier imagen o recurso como secuencias adicionales mediante el RenderStream método .

  • Hay una ligera ventaja de rendimiento para representar informes mediante el acceso url a través de la API SOAP.

Sin embargo, el Render método de la API SOAP se puede usar para representar informes y guardarlos en varios formatos de salida mediante programación. Esta es una ventaja sobre el acceso url, lo que requiere la interacción del usuario. Al representar un informe mediante el método de API Render SOAP, puede representarse en cualquiera de los formatos de salida admitidos.

También puede usar los controles ReportViewer distribuibles libremente que se incluyen con Microsoft Visual Studio 2008. Los controles ReportViewer facilitan la inserción de la funcionalidad de Reporting Services en aplicaciones personalizadas. Los controles ReportViewer están diseñados para desarrolladores que desean proporcionar informes creados previamente y totalmente creados como parte de un conjunto de características de aplicación (por ejemplo, una aplicación de administración de sitios web podría incluir informes que muestran el análisis de secuencias de clics en sitios web de la empresa). La inserción de los controles en una aplicación proporciona una alternativa simplificada a incluir los componentes del servidor de Reporting Services en la implementación de la aplicación. Los controles proporcionan funcionalidad de informe, pero sin la compatibilidad adicional de creación, publicación o distribución y entrega de informes que encuentre en Reporting Services.

Hay dos versiones de los controles ReportViewer, una para aplicaciones cliente de Windows enriquecidas y otra para aplicaciones ASP.NET. Los controles admiten el procesamiento local y los modos de procesamiento remoto. En el modo de procesamiento local, la aplicación proporciona la definición de informe y los conjuntos de datos y desencadena el procesamiento de informes. En el modo de procesamiento remoto, la recuperación de datos y el procesamiento de informes se producen en el servidor de informes y el control se usa para la visualización y la navegación de informes. Este modelo permite crear aplicaciones enriquecidas que se pueden escalar desde el escritorio a la empresa.

Los controles ReportViewer se documentan en la Ayuda en línea de Visual Studio. Para obtener más información, consulte la documentación del producto de Visual Studio.

Véase también

Creación de aplicaciones con el servicio web y .NET Framework
Integración de Reporting Services en aplicaciones
Uso de la API SOAP en una aplicación web