Migramos Guaraní 3.17 a la nube de Azure y tenemos algunos problemas con la interfaz Sidcer.
Adjunto el error que encontramos. Instalamos la api externa que corresponde a esta versión de Guaraní, pero no encontramos el problema. La api responde ok.
Se les ocurre qué puede estar faltando?
Preguntas:
¿Gestión también lo tienen publico? ¿o no lo tienen publico y exponen la API REST con este modulo?
Primero probemos que funcione y responda bien la API REST de Guaraní Gestión, si vemos que responde bien luego deberíamos ver por que SICer no se puede comunicar con la misma.
Te voy a pedir que pruebes en SICer a que te vuelva a dar el error de la captura, y luego en Guaraní Gestión revisa si registra algo en el archivo instalacion/i__desarrollo/p__guarani/logs/web_services.log, si no registra nada es porque SICer no esta llegando a Guaraní.
Preguntas:
¿el username y password que configuraron con el equipo de SICer es el mismo con el que accediste a la API?
¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario?
Reemplaza {persona} por el ID de alguna persona.
De ser así habría que ver con el equipo de SICer porque este ultimo no se puede conectar a Guaraní.
A tu pregunta: ¿el username y password que configuraron con el equipo de SICer es el mismo con el que accediste a la API? La rpta es que es el mismo, no cambió.
La siguiente: ¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario? La rpta es que puedo acceder a https://guarani.usi.edu.ar/guarani/rest/ con el usuario y clave configurado para SIDCER, puede ser que falte en la API de Guaraní los ENDPOINTS GET /personas?
Los endpoints se definen en …/php/rest/recursos_usuarios.php, pero lo raro es que si hay que configurar esto antes no estaba configurado, nunca lo estuvo… esto es de versiones posteriores a la 3.17.
La siguiente: ¿podes acceder a la API de Guaraní a los ENDPOINTS GET /personas, GET /personas/{persona}/datosanalitico y GET /personas/{persona}/datospersonales con dicho usuario? La rpta es que puedo acceder a https://guarani.usi.edu.ar/guarani/rest/ con el usuario y clave configurado para SIDCER, puede ser que falte en la API de Guaraní los ENDPOINTS GET /personas?
También revisa en instalacion/i__desarrollo/p__guarani/rest/servidor.ini si es autenticacion = digest o autenticacion = basic, en SICER debería estar configurado con ese mismo tipo de autenticación.
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:
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.
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…
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.
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í.
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.
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.
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í.
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.
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.