¿Cómo usar JasperSoft Studio con el Adaptador de Datos de Servicio Web?

¿Cómo usar JasperSoft Studio con el Adaptador de Datos de Servicio Web?

Puedes configurar un adaptador de datos para conectar a un servicio web REST. Este mecanismo es soportado por los adaptadores de datos JSON y XML y a su vez soporta los verbos PUT, POST y GET.

Para esto, una vez instalado Jaspersoft Studio, es necesario descargar de https://community.jaspersoft.com/project/web-service-data-source/releases el zip Jaspersoft Web Service Data Source, que contiene los plugins necesarios para usar el servicio REST.

Para instalarlo, accede a la carpeta JSS y copia los archivos jar a la carpeta plugins del directorio de instalación de Jaspersoft Studio. Si tienes alguna duda, puedes seguir el siguiente tutorial https://community.jaspersoft.com/wiki/installing-webservice-datasource (en inglés).

Después de instalar el plugin, un nuevo Tipo de Adaptador de Datos estará disponible . Para crearlo, accede a New > Data Adapter y selecciona Web Service.

Para configurar el adaptador de datos, las propiedades necesarias son

  • Name (Nombre)

  • Server URI (servidor URI): la primera parte o dirección URI. Ten en cuenta que un mismo Adaptador de Datos puede ser utilizado para llamar a diferentes servicios web, por lo que debe incluir sólo la parte no modificable de la URL, pero no hay ninguna comprobación o regla que verifique esto.

  • Connection Type (tipo de conexión): los valores posibles son: POST, GET, Elastic Search Connection (Conexión de búsqueda elástica).

  • Language (lenguaje): es el lenguaje utilizado para decodificar la respuesta del servicio web. Los valores posibles son xml o json.

  • Authentication (autenticación): es el método de autenticación requerido por el servicio web.

    • None (Ninguno)

    • Basic (Básico): nombre de usuario y contraseña.

    • Google Authentication: (Autenticación de Google): Clave de la API de Google. Este método de autenticación fue construido como muestra para extender el Webservice DataAdapter.

Una vez creado el Data Adapter, ve a New > Jasper Report y crea un nuevo informe vacío.


Una vez creado el informe, se abrirá la siguiente ventana y tendrás que pulsar el botón para abrir el diálogo de edición de DataSet y Query (Dataset and Query editor dialog).

Para configurar la petición que se envía al Servicio Web, debes rellenar los siguientes campos:

  • Query Language (lenguaje de la consulta): WebServiceQuery

  • Base URL (URL base): esta url será concatenada a la URI base que definiste en el Adaptador de Datos. Según el ejemplo de muestra, OpenWeatherMap expone muchas APIs, y cada una de éstas tiene una URL diferente, pero la URI raíz es la misma (el dominio del sitio); así que la URL base sería la segunda mitad de la URL, excluyendo los parámetros (ver imagen abajo).

  • Content Type & Content of Request (Tipo de contenido y contenido de la solicitud):

    • XML: Esto mostrará un área de texto para introducir el contenido de la solicitud. Aquí puedes pegar tu XML.

    • JSON: Esto mostrará un área de texto para introducir el contenido de la solicitud. Aquí puedes pegar tu JSON.

    • GET Parameters: para las solicitudes GET, los parámetros se pasan en la URL. A menudo los parámetros contienen caracteres especiales que tendrán que ser escapados. Esto se hace automáticamente: Sólo tendrás que añadir los parámetros utilizando el botón Añadir, insertar el nombre del parámetro (Parameter Name) y el valor (Value).

  • Headers (Cabeceras): Algunas APIs requieren que pases algunos parámetros en la cabecera (como por ejemplo una clave de autenticación).

Además, debes seleccionar el Adaptador de Datos del Servicio Web creado anteriormente.

Para configurar cómo se debe mapear el resultado de la llamada al servicio web a los Campos, ve a la pestaña "Fields" (Campos).

Las acciones requeridas son Get Server Response (Obtener Respuesta del Servidor), y arrastrar y soltar los campos desde el área de la izquierda a la lista de Fields (Campos) de la derecha. Para mostrar los datos, abre la pestaña de Data Preview (Previsualización de Datos) después de hacer clic en Read Fields (Leer Campos) para comprobar si los campos se han extraído correctamente.

En algunas versiones de Jaspersoft Studio, la acción "Get Server Response" no funciona correctamente y la respuesta del servidor nunca se muestra. En estos casos, se muestra permanentemente el mensaje "Loading Json data".


En estos casos, debes crear los mapeos de los campos manualmente usando los botones de Add (Añadir):

Para diseñar el documento, haz clic en OK y accede a la pestaña Design (Diseño).

Además de poder crear elementos arrastrando y soltando los diferentes elementos de la derecha (Text Field, Image, respectivamente: Campo de texto, Imagen), puedes arrastrar y soltar los campos recuperados del Servicio Web, situados en la rama Field del árbol de la parte inferior izquierda.

Desde la pestaña de Preview, puedes ver cómo quedaría el archivo.