Problemas Interfaz Guaraní - Sidcer

Hola Leonel

Pruebo https://guarani.usi.edu.ar/guarani/rest/personas?pais=54&tipo_documento=0&numero_documento=37538211
y da este error:
{
“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: No se encuentra el recurso para personas en el directorio /usr/local/proyectos/guarani/php/rest. \u00bfRuta mal formada?”
}

El endpoint de personas responde bien desde guarani.usi.edu.ar/apisicer/guarani/rest/personas, y no funciona el de datos analítico.
Te mando capturas con los errores y con lo que funciona bien:

Muchas gracias.
Besos. Vero


imagen.doc (194 KB)

Hola Verónica,

Claro, no recordaba que en la versión 3.17.0 de Guaraní los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales no existen en la API nativa, recién se agregan en la versión 3.18.0.

Van a tener que utilizar la api_externa.

Guaraní 3.17.0 usa api_externa 1.2.0.

Guaraní 3.17.1 usa api_externa 1.2.1.

Ver Correspondencia entre versiones.

Entiendo que SICER debería apuntar a esta API: https://guarani.usi.edu.ar/apisicer/rest/ ¿es así?

El endpoint de personas responde bien desde guarani.usi.edu.ar/apisicer/guarani/rest/personas, y no funciona el de datos analítico.
¿que error te da?

saludos.
2

¿la persona en cuestión tiene historia académica?

¿que te devuelve la siguiente query?

SELECT * FROM ws_datos_analitico(<persona>, null, true);

Reemplaza por el ID de persona de la tabla mdp_personas.

saludos.
2

Hola Leonel.

Estamos usando la api externa, tal cual lo que se menciona en los instructivos.
El problema creo que es la url, debe incluir el r/est y antes no lo incluia…

Muchas gracias.
Besos. Vero

Hola Verónica,

El problema creo que es la url, debe incluir el /rest y antes no lo incluia...
Revisa la URL que le pasaste a SICER con la de la API, si no coinciden podes reconfigurarla. En el archivo [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/usi/api_externa/trunk/1.2.0/README.md]README.md[/url] te explica que podes modificar los archivos [b]parametros.ini[/b] directiva [b]alias[/b] y [b]alias_api.conf[/b], luego vas a tener que reiniciar Apache.

En cuanto al error que muestra SICER: “No se encontró el historial académico para la persona encontrada”
¿que te devuelve GET /personas//datosanalitico?
¿la persona en cuestión tiene registros en la tabla sga_certificados_otorg?

SELECT * FROM sga_certificados_otorg WHERE persona = <persona>;

¿que te devuelve la siguiente query?

SELECT * FROM ws_datos_analitico(<persona>, null, true);

Reemplaza por el ID de persona de la tabla mdp_personas.

Revisa en la operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico.

saludos.
3

Hola Leonel.

Esta consulta: SELECT * FROM sga_certificados_otorg WHERE persona = ; devuelve registros
Esta consulta también devuelve registros: SELECT * FROM ws_datos_analitico(, null, true);

Respecto a esto: operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico: Esto no existe en esta versión de Guaraní.

La url pasada en su momento al equipo Sidcer es: https://guarani.usi.edu.ar/apisicer/ y no la cambiamos.

Muchas gracias.
Besos. Vero

Hola Verónica!

En qué institución les está sucediendo esto?

Lo primero que deberían hacer es actualizar la versión del sistema de Guaraní. La versión de 3.17 es muy vieja y no podemos dar soporte a la misma.
Es probable que con la actualización de la versión este tema quede solucionado ya que han habido varios cambios al respecto en los últimos años.
En caso de continuar el inconveniente, ya estando en una versión más reciente podemos analizarlo de mejor manera.

Saludos!

2

Hola Leonel.

Esto es en USI, y no creo que vayan a migrar a la nueva version, por lo menos no por ahora.
Lamentablenente no depende de mi, por lo que hay que encontrar una solucion alternativa.

Muchas gracias.
Besos. Vero

Hola Verónica, agrego a lo de Martín:

Esta consulta: SELECT * FROM sga_certificados_otorg WHERE persona = ; devuelve registros Esta consulta también devuelve registros: SELECT * FROM ws_datos_analitico(, null, true);

Perfecto, entonces https://guarani.usi.edu.ar/apisicer/rest/personas//datosanalitico debería devolver datos, ¿no?

Respecto a esto: operación » Propuestas Formativas » Certificados » Administrar Certificados si el certificado tiene marcada la opción Informar a SIDCer, de no ser así no te traerá registros el ENDPOINT GET /personas//datosanalitico: Esto no existe en esta versión de Guaraní.
Ok, igual lo importante es que las queries de arriba devuelvan registros. De ultima podes modificar a mano en la tabla [b]sga_certificados[/b] columna [b]informar_sidcer[/b] = 'S' para que tenga en cuenta dicho titulo, ya que [url=https://colab.siu.edu.ar/trac/guarani3/browser/nodos/usi/gestion/trunk/3.17.0/BD/Ddl/_nucleo/Funciones/ws_datos_analitico.sql#L166]la función ws_datos_analitico aplica dicho filtro en la linea 166[/url].
La url pasada en su momento al equipo Sidcer es: https://guarani.usi.edu.ar/apisicer/ y no la cambiamos.
Creo que debería ser https://guarani.usi.edu.ar/apisicer/rest/, al menos que SICER le concatene el "/rest", les voy a consultar al equipo de SICER.

saludos.
4

Hola Verónica,

El equipo de SICER me dice que la configuraciones es la siguiente:

Institución: 2851 - Universidad de San Isidro “Plácido Marín”
URL: https://guarani.usi.edu.ar/apisicer/rest/
Auth usuario: usi
Auth tipo: basic
Producción: Si

Parece ser que los datos están bien!!!

¿el servicio https://guarani.usi.edu.ar/apisicer/rest/personas/{persona}/datosanalitico no te da error?
Porque desde el equipo de Sicer me dicen que el mensaje “No se encontró el historial académico para la persona encontrada” se suele deber a que dicho servicio falla o no devuelve datos.

saludos.
4

saludos.

Tene en cuenta lo que te puse en la respuesta #9:

Si tenes Guaraní 3.17.0 vas a tener que usar API Sidcer/api_externa versión 1.2.0, si tenes Guaraní 3.17.1 vas a tener que usar API Sidcer/api_externa versión 1.2.1, ver correspondencia entre versiones.

Si usas Guaraní 3.17.0 con API Sidcer/api_externa versión 1.2.1 va a pasar que la función ws_datos_analitico no devuelve la columna es_optativa que se agrega en Guaraní 3.17.1, y esto hace que se rompa el ENDPOINT https://guarani.usi.edu.ar/apisicer/rest/personas/{persona}/datosanalitico

Ver diferencial BD/Diferenciales/3.17.1/001327.sql.

Por favor confirmame eso.

saludos.
2

Hola Verónica,

Por favor lee las respuestas #16, #17 y #18 que te escribí hoy.

saludos.
2

Hola Leonel.

Claro, esta url (https://guarani.usi.edu.ar/apisicer/rest/) es la que suponíamos que había cambiado, porque la original era https://guarani.usi.edu.ar/apisicer, ya la modificamos y funciona ok.
Respecto a los datos del analítico, el error está justamente en el stored procedure ws_datos_analítico porque busca un campo que no existe, ya lo actualizo y queda todo funcionando.
Lamentablemente, nos vamos quedando atrás en las versiones, pero trataremos de reflotar el tema de la migración.

Muchas gracias.
Besos. Vero

Perfecto Verónica,

Osea, estaban usando Guaraní 3.17.0 con api_externa versión 1.2.1, en ese caso daba un error como el siguiente:

https://guarani.usi.edu.ar/apisicer/rest/personas/8/datosanalitico


{
    "error": 500,
    "mensaje": "500 Internal Server Error",
    "descripcion": "Error Interno en el servidor: SQL ERROR: SQLSTATE[42703]: Undefined column: 7 ERROR:  column \"es_optativa\" does not exist\nLINE 35:                         es_optativa\n                                 ^\nSELECT\ttitulo_araucano,\n\t\t\t\t\t\ttitulo_nombre,\n\t\t\t\t\t\tresponsable_academica,\n\t\t\t\t\t\tpropuesta,\n\t\t\t\t\t\tpropuesta_nombre,\n\t\t\t\t\t\tplan_codigo AS plan_alumno,\n\t\t\t\t\t\ttitulo_esta_cumplido,\n\t\t\t\t\t\tnro_resolucion_ministerial,\n\t\t\t\t\t\tnro_resolucion_coneau,\n\t\t\t\t\t\tnro_resolucion_institucion,\n\t\t\t\t\t\tfecha_ingreso,\n\t\t\t\t\t\tfecha_egreso,\n\t\t\t\t\t\ttiene_sanciones,\n\t\t\t\t\t\ttitulo_anterior_nivel,\n\t\t\t\t\t\ttitulo_anterior_origen,\n\t\t\t\t\t\ttitulo_anterior_nacionalidad,\n\t\t\t\t\t\ttitulo_anterior_institucion,\n\t\t\t\t\t\ttitulo_anterior_denominacion,\n\t\t\t\t\t\ttitulo_anterior_revalidado,\n\t\t\t\t\t\ttitulo_anterior_nro_resolucion,\n\t\t\t\t\t\ttitulo_apto_ejercicio,\n\t\t\t\t\t\tplan_vigente,\n\t\t\t\t\t\ttipo,\n\t\t\t\t\t\tactividad_nombre,\n\t\t\t\t\t\tactividad_codigo,\n\t\t\t\t\t\tcreditos,\n\t\t\t\t\t\tfecha,\n\t\t\t\t\t\tnota,\n\t\t\t\t\t\tresultado,\n\t\t\t\t\t\tfolio_fisico,\n\t\t\t\t\t\tacta_resolucion,\n\t\t\t\t\t\tpromedio,\n\t\t\t\t\t\tpromedio_sin_aplazos,\n\t\t\t\t\t\tforma_aprobacion,\n                        es_optativa\n\t\t\t\tFROM\tws_datos_analitico (8, null, true)"
}

Con api_externa versión 1.2.0 dicho error debería desaparecer.

¿como lo solucionaron? ¿actualizaron a Guaraní 3.17.1 o mantuvieron Guaraní 3.17.0 e hicieron un downgrade a api_externa versión 1.2.0?

Me alegro que lo pudieron solucionar.

saludos.
2

Hola Leonel.

No, no migramos de versión, seguimos con la 3.17.0, usando la api externa 1.2.1
Modifiqué el stored procedure ws_datos_analítico para que contemple el campo que no existía.

Muchas gracias por toda la ayuda.
Besos. Vero

Hola Verónica,

No, no migramos de versión, seguimos con la 3.17.0, usando la api externa 1.2.1 Modifiqué el stored procedure ws_datos_analítico para que contemple el campo que no existía.

No, yo en ningún momento dije que hagan eso!!!

Lo que tenes que hacer es respetar la Correspondencia entre versiones, si usas Guaraní 3.17.0 tenes que usar API Sidcer 1.2.0.

Al modificar la función ws_datos_analitico podes estar rompiendo en otro lugar que se usa. Te recomiendo que dejes la función ws_datos_analitico como estaba antes y hagas un downgrade a API Sidcer 1.2.0, creo que con hacer un svn switch y luego composer install bastaría:


svn switch https://colab.siu.edu.ar/svn/guarani3/nodos/usi/api_externa/trunk/1.2.0
composer install

Luego reinicia Apache donde tenes instalada la API Sidcer por las dudas.

saludos.
2

Hola Leonel.

Funciona todo ok, por ahora, si se presenta algún problema, lo resolveremos.

Muchas gracias.
Besos. Vero

Hola Verónica,

Tene en cuenta que estas utilizando versiones que no son compatibles, luego esto hace que se presenten nuevos problemas y se haga eterno el soporte, por favor si usas Guaraní 3.17.0 tenes que usar API Sidcer 1.2.0, para eso armamos la Correspondencia entre versiones.

saludos.
2

Entiendo Leonel.

El tema se dio por el cambio que hicieron en la url de SIDCER, y que creíamos se debía a un error en el proceso de migración a la nube.
En cuanto podamos, lo reveemos para que quede compatible.

Muchas gracias.
Besos. Vero

Perfecto Verónica,

Si, en cuanto puedan hagan la corrección que te propuse en los mensajes anteriores.

A partir de la versión 3.18.0 de Guaraní no es necesario instalar la “API Sidcer”, ya los ENDPOINTS que consume Sidcer (GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales) están incluidos en el CORE.

saludos.
2