El informe de Jaspert obtiene datos del proveedor con el servicio web. ¿Cómo?

Hay un sistema que tiene datos y puede proporcionarlos con servicios web (por ejemplo, la base de datos de Lotus Notes). ¿Puede Jasper obtener datos para su informe llamando al servicio web?

preguntado el 22 de mayo de 12 a las 15:05

4 Respuestas

Puede escribir un DataSource personalizado implementando la interfaz JRDataSource.

Explicación completa: http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/sample.reference/datasource/index.html#customdatasource.

contestado el 22 de mayo de 12 a las 15:05

Puede, pero probablemente se complicará mucho muy rápidamente. Pero si quieres recorrer ese camino, definitivamente es posible con un JRXmlDataSource. Tendrá que definir la fuente de datos como:

new net.sf.jasperreports.engine.data.JRXmlDataSource(
net.sf.jasperreports.engine.util.JRLoader.getLocationInputStream("http://yourserver.com/xml_data_source")

Vea este publicación, donde alguien parece haberse embarcado en una búsqueda similar, para recuperar datos xml de un servidor remoto para el informe.

Habiendo dicho eso, probablemente será mucho menos trabajo, y su código probablemente será mucho más fácil de mantener si obtiene los datos del servidor en su código, selecciona los campos que desea para su informe y los pasa como, digamos , una fuente de datos JRMapCollection, especialmente si el servicio remoto ofrece un wsdl contra el cual podría generar un cliente utilizando una herramienta como Apache Axis.

contestado el 22 de mayo de 12 a las 15:05

La mejor solución en este momento es usar la fuente de datos SPI de Jasper para hacer que sus servicios Restful sean una fuente de datos al igual que las fuentes de datos JDBC.

http://javattitude.com/2015/07/30/using-rest-web-service-as-data-source-for-jasper-reports/

Uno escrito esto funcionará para todos sus servicios ya que es genérico.

Respondido el 11 de Septiembre de 15 a las 06:09

Esto ahora es posible usando Web Service Datasource

http://community.jaspersoft.com/project/web-service-data-source

Este proyecto comunitario implementa una fuente de datos personalizada, creada con el último marco de fuente de datos personalizada (aprovechando los adaptadores de datos internamente).

También funciona dentro del servidor JasperReports:

Puede usarlo para completar controles de entrada basados ​​en consultas, así como informes ad hoc (para la versión comercial) usándolo a través de un tema.

Muchas Gracias

Respondido 27 Oct 15, 09:10

¿Puede proporcionar detalles adicionales? - Lima

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.