Impresión en Jasper que sale pantalla en blanco

Buenas noches

Estoy trabajando en un sistema que tiene un único reporte y este lo arme con jasper.
La compu de desarrollo utiliza windows10, apache 2.4, toba 3.3, postgres 14, php 7.4, Ireport5.6 y java 1.7 para usar Ireport.
En desarrollo el sistema se ejecuta barbaro, el reporte también sale bien, se visualiza sin problema.
Instalo el sistema en la compu que va actuar como servidor, tiene casi las mismas aplicaciones instaladas que en desarrollo, windows10, apache 2.4, postgres14, php 7.4 , excepto x java que instale el 1.8.
El problema surge cuando desde el botón imprimir quiero sacar el reporte, la pantalla queda en blanco.
Arme un archivo.bat para levantar el servicio de jasper y lo hace sin problemas
start /B java -jar C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\WEB-INF\lib\JavaBridge.jar SERVLET:8081


El código que utilizo para sacar el reporte es

function vista_jasperreports(toba_vista_jasperreports $report) 
{
	$path = toba::proyecto()->get_path()."/exportaciones/jasper/pasavante.jasper";   
	$report->set_parametro('id_pasavante','E',$this->s__idpasavante['id_pasavante']);		
	$report->set_path_reporte($path);
	$db= toba::db('pasavantes');
	$report->set_conexion($db);
}

El log del sistema saca:

[DEBUG][pasavantes] PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje proyecto
[DEBUG][toba] [SECCION] Iniciando componentes…
[INFO][pasavantes] PUNTO MONTAJE: se cargó la clase pasavantes/ci_impresion.php del punto de montaje proyecto. El path del mismo es C:\Sistema\pasavantes100/php
[DEBUG][toba] componente(288000088): Pantalla de eventos: ‘seleccion’
[DEBUG][toba] [SECCION] Procesando eventos…
[DEBUG][toba] componente(288000088): [ inicializar_dependencias ]
array (
0 => ‘cuadro’,
)
[DEBUG][toba] [SECCION] Configurando dependencias para responder al servicio…
[DEBUG][toba] componente(288000088): Pantalla de servicio: ‘seleccion’
[INFO][toba] componente(288000088): [ callback ] ‘conf__seleccion’ no fue atrapado
[DEBUG][toba] componente(288000088): [ callback ] ‘conf__cuadro’
[DEBUG][toba] [SECCION] Respondiendo al servicio__vista_jasperreports…
[DEBUG][pasavantes] Seteo el esquema por defecto para el reporte: SET search_path = “public”, “public”;
[ERROR][pasavantes] Error en la ejecución del reporte
[ERROR][pasavantes]
[DEBUG][pasavantes] Jasper JDBC close Connection
[CRITICAL][toba] java_InternalException:
[TRAZA]

java_ThrowExceptionProxyFactory->getProxy 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 223
Parametros:
9
org.postgresql.jdbc4.Jdbc4Connection
T
1

java_Arg->getResult 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 388
Parametros:
1

java_Client->getWrappedResult 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 394
Parametros:
1

java_Client->getResult 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 588

java_Client->invokeMethod 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 1795
Parametros:
1
fillReport
C:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper Instancia de Java Instancia de java_InternalJava

java_JavaProxy->__call 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 1894
Parametros:
fillReport
C:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper Instancia de Java Instancia de java_InternalJava

java_AbstractJava->__call 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 2042
Parametros:
fillReport
C:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper Instancia de Java Instancia de java_InternalJava

Java->__call 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\lib\salidas\toba_vista_jasperreports.php, lInea 336
Parametros:
fillReport
C:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper Instancia de Java Instancia de java_InternalJava

toba_vista_jasperreports->completar_con_datos 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\lib\salidas\toba_vista_jasperreports.php, lInea 281

toba_vista_jasperreports->generar_salida 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php, lInea 335

toba_solicitud_web->servicio__vista_jasperreports 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php, lInea 188
Parametros:
Instancia de ci_impresion

toba_solicitud_web->procesar_servicios 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php, lInea 60

toba_solicitud_web->procesar 

Archivo: C:\Sistema\pasavantes100\vendor\siu-toba\framework\php\nucleo\toba_nucleo.php, lInea 96

toba_nucleo->acceso_web 

Archivo: C:\Sistema\pasavantes100\www\aplicacion.php, lInea 30


El log de apache dice en resumen “Error en la ejecución del reporte”

[Sat Mar 22 22:13:19.398301 2025] [php7:notice] [pid 5248:tid 1124] [client ::1:58254] Error en la ejecuci\xf3n del reporte, referer: http://localhost/pasavantes/aplicacion.php?ah=st67df6029de7540.42516866&ai=pasavantes||288000016
[Sat Mar 22 22:13:19.398301 2025] [php7:notice] [pid 5248:tid 1124] [client ::1:58254] , referer: http://localhost/pasavantes/aplicacion.php?ah=st67df6029de7540.42516866&ai=pasavantes||288000016
[Sat Mar 22 22:13:19.399299 2025] [php7:notice] [pid 5248:tid 1124] [client ::1:58254] java_InternalException: \n[TRAZA]\n\t\n\tjava_ThrowExceptionProxyFactory->getProxy \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 223 \nParametros: \n9\t\t\norg.postgresql.jdbc4.Jdbc4Connection\t\t\nT\t\t\n1\t\t\n\t\n\tjava_Arg->getResult \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 388 \nParametros: \n1\t\t\n\t\n\tjava_Client->getWrappedResult \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 394 \nParametros: \n1\t\t\n\t\n\tjava_Client->getResult \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 588 \n\t\n\tjava_Client->invokeMethod \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.inc, lInea 1795 \nParametros: \n1\t\t\nfillReport\t\t\nC:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper\tInstancia de Java Instancia de java_InternalJava \t\n\t\n\tjava_JavaProxy->__call \nArchivo: C:\Sistema\pasavantes100\vendor\siu-toba\jasper\JavaBridge\java\Java.i…SIGUE…, referer: http://localhost/pasavantes/aplicacion.php?ah=st67df6029de7540.42516866&ai=pasavantes||288000016


Estuve siguiendo el código que ejecuta toba_vista_jasperreports.php para identificar la linea donde salta el error.

La ejecución se rompe en la lineas $print = $this->jasper->fillReport($this->path_reporte, $this->parametros, $con1);
Donde los valores de los parámetros que le llegan a la función son:

  1. $this->path_reporte: C:\Sistema\pasavantes100\exportaciones\jasper\pasavante.jasper
  2. $this->parametros: {id_pasavante=4276}
  3. $con1: org.postgresql.jdbc4.Jdbc4Connection@6dd7db3d
    El punto 1 y 2 son correctos, el 3 no se…

Algo mas que probe fue que el sql que tengo en el reporte y sus subreportes, a cada nombre de tabla le sume por delante el “public”, por ejemplo public.movimientos. Con esto no logre nada, sigue sin salir el reporte.


Que estoy haciendo mal y no me estoy dando cuenta? que me falta hacer?
Me podrían porfi orientar sobre que mas puedo chequear …

Desde ya gracias!!!

Hola, el reporte desde iReport funciona? haciendo vista previa

Buen día Damián
Desde IReport se ve perfecto y desde la aplicación también, siempre hablando de desarrollo. El problema es en el servidor de producción donde falla.
Saludos

Hola Mariela,

yo le pongo todos los pochoclos a la version de Java, son muchos los datos a enviar?.. probaste con una version donde el reporte no haga la consulta SQL directamente?.

Hay varios motivos por lo que ello no es ideal… pero mas alla de eso, si el problema se esta originando con el driver de postgres para Java, solo se me ocurren dos opciones:

  • Conseguir el driver correcto (el que figura es bastante viejo por lo que veo)
  • Enviarle los datos al reporte directamente

Saludos