Gente, buen día, les escribo por lo siguiente, resulta que en la UNT estamos realizando algunas aplicaciones internas con Toba y al momento de visualizar un reporte, el log tira el siguiente error
[o:Response$UndeclaredThrowableErrorMarker]:“FATAL: UNDECLARED RuntimeException PASSED TO PHP. java.lang.Exception: CreateInstance failed: new java.lang.String((o:array_of_B)null). Cause: java.lang.NullPointerException VM: 1.7.0_65@http://java.oracle.com/” at:
#-9 php.java.bridge.Response.wrapUndeclared(Response.java:92)
#-8 php.java.bridge.Response$Writer.setResultException(Response.java:125)
#-7 php.java.bridge.Response.setResultException(Response.java:547)
#-6 php.java.bridge.JavaBridge.setException(JavaBridge.java:427)
#-5 php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:510)
#-4 php.java.bridge.Request.handleRequest(Request.java:453)
#-3 php.java.bridge.Request.handleRequests(Request.java:491)
#-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:146)
#-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
#0 /home/javier/Toba/toba_2.5.0/php/3ros/JavaBridge/java/Java.inc(248): java_ThrowExceptionProxyFactory->getProxy(3, ‘java.util.HashM…’, ‘’, false)
#1 /home/javier/Toba/toba_2.5.0/php/3ros/JavaBridge/java/Java.inc(388): java_Arg->getResult(false)
#2 /home/javier/Toba/toba_2.5.0/php/3ros/JavaBridge/java/Java.inc(391): java_Client->getWrappedResult(false)
#3 /home/javier/Toba/toba_2.5.0/php/3ros/JavaBridge/java/Java.inc(569): java_Client->getInternalResult()
#4 /home/javier/Toba/toba_2.5.0/php/3ros/JavaBridge/java/Java.inc(1924): java_Client->createObject(‘java.lang.Strin…’, Array)
#5 /home/javier/Toba/toba_2.5.0/php/nucleo/lib/salidas/toba_vista_jasperreports.php(106): Java->Java(‘java.lang.Strin…’, NULL)
#6 /home/javier/Toba/toba_2.5.0/proyectos/sni/php/ABM/ci_recibos.php(82): toba_vista_jasperreports->set_parametro(‘numeros’, ‘S’, NULL)
#7 /home/javier/Toba/toba_2.5.0/php/nucleo/lib/salidas/toba_vista_jasperreports.php(244): ci_recibos->vista_jasperreports(Object(toba_vista_jasperreports))
#8 /home/javier/Toba/toba_2.5.0/php/nucleo/toba_solicitud_web.php(329): toba_vista_jasperreports->generar_salida()
#9 /home/javier/Toba/toba_2.5.0/php/nucleo/toba_solicitud_web.php(185): toba_solicitud_web->servicio__vista_jasperreports(Array) #10 /home/javier/Toba/toba_2.5.0/php/nucleo/toba_solicitud_web.php(60): toba_solicitud_web->procesar_servicios()
#11 /home/javier/Toba/toba_2.5.0/php/nucleo/toba_nucleo.php(79): toba_solicitud_web->procesar()
#12 /home/javier/Toba/toba_2.5.0/proyectos/sni/www/aplicacion.php(24): toba_nucleo->acceso_web()
#13 {main}]
Primero busqué en el foro si alguien tuvo un problema similar, y encontré lo siguiente
http://foro.comunidad.siu.edu.ar/index.php?topic=8412.msg35993
Tema: SOLUCIONADO - error con jasper report (Leído 24 veces)
Pero la solución que plantean no me sirvió, ya que arranque varias veces el JavaBridge y no se soluciona.
Lo raro del tema es lo siguiente, en la aplicación la idea es que el reporte surja a partir de que el usuario presiona “Grabar”, por lo tanto en el CI desde donde se lanza el evento tengo lo siguiente
function extender_objeto_js()
{
if ($this->get_id_pantalla() == ‘alta’) {
echo "
{$this->objeto_js}.evt__procesar = function(params) {
location.href = vinculador.get_url(null, null, 'vista_jasperreports', {'path': params});
return false;
}
";
}
}
En cambio en otra pantalla en donde se puede hacer una reimpresión del reporte original, el reporte funciona de maravillas, y el código en ese lugar es:
function extender_objeto_js()
{
if ($this->get_id_pantalla() == ‘visualiza’) {
echo "
{$this->dep(‘form’)->objeto_js}.evt__imprimir = function(params) {
location.href = vinculador.get_url(null, null, 'vista_jasperreports', {'path': params});
return false;
}
";
}
}
La única diferencia que veo es que en donde el reporte funciona se llama al form que tiene el evento ($this->dep(‘form’)->objeto_js), en cambio en donde genera el error, al no tener form directamente $this->objeto_js.
Alguna idea??
Desde ya y como siempre muchas gracias!