Error sincro Sanaviron - guarani

Buenas tardes como va?

Tenemos este error intentado sincronizar sanaviron y guarani.

Al tratar de sincronizar con sq_academico nos salta el siguiente error (log apache):
Server error: POST http://guarani-pagos.filo.uba.ar/sq_nucleo/rest/v1/servicios resulted in a 500 Internal Server Error response:\n{\n “error”: 500,\n “mensaje”: “500 Internal Server Error”,\n “descripcion”: "Error Interno en el servidor: No se (truncated…)\n, referer: http://guarani-test.filo.uba.ar/guarani/3.21/aplicacion.php?tm=1&tcm=central&ai=guarani||89000001

De nuestra parte seguimos estos pasos:
https://documentacion.siu.edu.ar/wiki/SIU-Sanaviron-Quilmes/version1.2.0/operacionesacad-01

Y colocamos las 3 variables de sanaviron en administración.

Al swagger de sanaviron llegamos bien. Pero no a servicios. Falta alguna configuración funcional/tecnica en sanaviron?

Ir a la issue

Hola Alejandro, te pido que nos digas en que versión están y si esto les pasa en testing o producción. Vieron esta Documentación técnica? Nos pueden compartir los logs por favor?

Saludos.

Estamos en testing todavía. Las versiones en las que estamos son Siu-guarani 3.21 y en sanaviron 2.5

Adjunto el log de:
Path: usr/local/proyectos/guarani/instalacion/i__desarrollo/p__guarani/logs/sistem
a.log

sistema.log-sq_nucleo_sanaviron.txt (15,0 KB)

Alejandro, el error 500 suele ser problemas con certificados. Ustedes están trabajando con certificados? De no ser así, desactivaron las verificaciones tanto en Guaraní como en SQ.
Nos podrían enviar los logs de SQ?

Saludos.

Estimado, gracias por la rta.

Le consulto: que variable debo chequear con esta directiva:

si desactivaron las verificaciones

Le adjuntamos el log del SQ:

guarani-pagos.filo.uba.ar-error.log (4,3 KB)

Buen día Alejandro!

Estuve revisando el log de SQ que enviaron, y veo que el error está en que no encuentra la ruta “/usr/local/proyectos/sanaviron_quilmes/sq-nucleo/nucleo/toba/php/rest/v1”. La misma existe y fue declarada en “config/i__desarrollo/p__sq_nucleo/rest/servidor.ini”?

Estimado, buenas tardes.

root@guarani-pagos:/usr/local/proyectos/sanaviron_quilmes/sq-nucleo/nucleo/config/i__produccion/p__sq_nucleo/rest# cat servidor.ini
autenticacion = “basic”

;[settings]
;formato_respuesta = “json”
;url_protegida = “/.*/”
;encoding = “utf-8”

[v1]
path_api = “/usr/local/proyectos/sanaviron_quilmes/sq-nucleo/nucleo/toba/php/rest/v1”
path_api_pers = “/usr/local/proyectos/sanaviron_quilmes/sq-nucleo/nucleo/toba/personalizacion/php/rest/v1”

root@guarani-pagos: ls -la /usr/local/proyectos/sanaviron_quilmes/sq-nucleo/nucleo/toba/php/rest/v1
total 296
drwxr-x— 5 www-data www-data 4096 may 8 18:51 .
drwxr-x— 3 www-data www-data 4096 may 8 18:51 …
drwxr-x— 2 www-data www-data 4096 may 8 18:51 convenios
drwxr-x— 2 www-data www-data 4096 may 8 18:51 info
drwxr-x— 2 www-data www-data 4096 may 8 18:51 monedas
-rw-r----- 1 www-data www-data 13560 may 8 18:51 recurso_afip.php
-rw-r----- 1 www-data www-data 13716 may 8 18:51 recurso_articulos_unidad_venta.php
-rw-r----- 1 www-data www-data 3843 may 8 18:51 recurso_canales_ventas.php
-rw-r----- 1 www-data www-data 6332 may 8 18:51 recurso_clientes.php
-rw-r----- 1 www-data www-data 5571 may 8 18:51 recurso_cobranzas_devengado.php
-rw-r----- 1 www-data www-data 6128 may 8 18:51 recurso_cobranzas_no_aplicadas.php
-rw-r----- 1 www-data www-data 19600 may 8 18:51 recurso_cobranzas.php
-rw-r----- 1 www-data www-data 27120 may 8 18:51 recurso_comprobantes.php
-rw-r----- 1 www-data www-data 3836 may 8 18:51 recurso_comprobantes_templates.php
-rw-r----- 1 www-data www-data 3991 may 8 18:51 recurso_conceptos_cobranzas.php
-rw-r----- 1 www-data www-data 7892 may 8 18:51 recurso_conceptos_venta.php
-rw-r----- 1 www-data www-data 3969 may 8 18:51 recurso_condiciones_ventas.php
-rw-r----- 1 www-data www-data 7788 may 8 18:51 recurso_contextos_unidad_venta.php
-rw-r----- 1 www-data www-data 9174 may 8 18:51 recurso_documentos_externos.php
-rw-r----- 1 www-data www-data 3650 may 8 18:51 recurso_jasper.php
-rw-r----- 1 www-data www-data 4926 may 8 18:51 recurso_log_interacciones_externas.php
-rw-r----- 1 www-data www-data 11920 may 8 18:51 recurso_medios_pagos.php
-rw-r----- 1 www-data www-data 3377 may 8 18:51 recurso_recaudacion_pilaga_novedades.php
-rw-r----- 1 www-data www-data 22257 may 8 18:51 recurso_servicios_unidad_venta.php
-rw-r----- 1 www-data www-data 9511 may 8 18:51 recurso_solicitudes_pagos_externos.php
-rw-r----- 1 www-data www-data 388 may 8 18:51 recurso_status.php
-rw-r----- 1 www-data www-data 5343 may 8 18:51 recurso_suscripcion.php
-rw-r----- 1 www-data www-data 7244 may 8 18:51 recurso_ventas_novedades.php
-rw-r----- 1 www-data www-data 42500 may 8 18:51 recurso_ventas.php

Ambas config en sanaviron estan hechas.

Hola @abachanian

¿el servicio GET /status y GET /info responden bien? Proba con el siguiente curl:

curl -k -v --basic -u '<auth_usuario>:<auth_password>' 'http://guarani-pagos.filo.uba.ar/sq_nucleo/rest/v1/info'

curl -k -v --basic -u '<auth_usuario>:<auth_password>' 'http://guarani-pagos.filo.uba.ar/sq_nucleo/rest/v1/status'

Igual veo algo mal, Guaraní debe apuntar a la API de SQ Académico y no de SQ Núcleo, ver Interfaz SIU-Guaraní - SIU-Sanaviron/Quilmes.

Por eso esta dando un error 500 que es que no encuentra POST /servicios:

[DEBUG][guarani] PROYECTO "guarani"
[DEBUG][guarani] Invocando servicio sanaviron. Opciones:<br>array (
  'to' => 'http://guarani-pagos.filo.uba.ar/sq_nucleo/rest/v1/',
  'auth_tipo' => 'basic',
  'auth_usuario' => 'XXXXXXXX',
  'auth_password' => 'XXXXXXXXX',
)
[ERROR][guarani] Server error: `POST http://guarani-pagos.filo.uba.ar/sq_nucleo/rest/v1/servicios` resulted in a `500 Internal Server Error` response:
{
    "error": 500,
    "mensaje": "500 Internal Server Error",
    "descripcion": "Error Interno en el servidor: No se  (truncated...)

Saludos.

Añadiendo a lo que dice Leonel, en /usr/local/proyectos/guarani/instalacion/i__desarrollo/p__guarani/rest/sanaviron/cliente.ini deberían tener como URL a la api de Académico. Según los logs, están apuntando a Núcleo.

Saludos!

Estimados, muchas gracias.

Les adjunto nuevamente el log con el cambio de la API hacia academico

sistema.logs.20240903.txt (16,4 KB)

Hola @abachanian , gracias por los logs!!!

[DEBUG][guarani] Invocando servicio sanaviron. Opciones:<br>array (
  'to' => 'http://guarani-pagos.filo.uba.ar/sq_academico/rest/v1/',
  'auth_tipo' => 'basic',
  'auth_usuario' => 'XXXX',
  'auth_password' => 'XXXXx',
)
[ERROR][guarani] Server error: `POST http://guarani-pagos.filo.uba.ar/sq_academico/rest/v1/servicios` resulted in a `500 Internal Server Error` response:
{
    "error": 500,
    "mensaje": "500 Internal Server Error",
    "descripcion": "Un car\u00e1cter no se encuentra en  (truncated...)

Ahora si apuntas a la API de SQ Académico, pero al llamar a POST /servicios da error, por lo que veo parece ser un error SQL en SQ Académico, adjunta los logs de este ultimo sistema.

Saludos.

Estimado, perfecto.

Logs - academico-20240904.log (8,6 KB)

Agrego lo solicitado.

Agrego el post al service:

image

@abachanian gracias por los logs, esta dando un error SQL en SQ Académico:

[2024-09-03 17:07:52] SQ-Academico-Rest.ERROR: SIU\SQ\Lib\transaccion::procesar: TOBA_ERROR_DB: Un car�cter no se encuentra en el conjunto de caracteres codificado. SQL: INSERT INTO servicios (codigo, descripcion, id_tipo_servicio, estado, estado_actualizado_en, id_externo, id_tipo_vencimiento, sistema_externo) VALUES ('2024', 'ESPECIALIZACI�N EN DID�CTICA', '4', 'A', 'now()', '91', NULL, '2'); -- toba_log: 79  [] []
[2024-09-03 17:12:11] SQ-Academico-Rest.ERROR: SIU\SQ\Lib\transaccion::procesar: TOBA_ERROR_DB: Un car�cter no se encuentra en el conjunto de caracteres codificado. SQL: INSERT INTO servicios (codigo, descripcion, id_tipo_servicio, estado, estado_actualizado_en, id_externo, id_tipo_vencimiento, sistema_externo) VALUES ('1999T', 'MAESTR�A EN FORMACI�N DE FORMADORES', '4', 'A', 'now()', '19', NULL, '2'); -- toba_log: 82  [] []

No se si sera un problema de enconding en la columna servicios.descripcion, veo que quiere guardar ‘ESPECIALIZACI�N EN DID�CTICA’ y ‘MAESTR�A EN FORMACI�N DE FORMADORES’.

¿en que encoding tenes la DB de SQ?

Saludos.

Estimado, estan en UTF8

Name | Owner | Encoding | Collate | Ctype
sq_academico | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8
toba_sq_academico | postgres | UTF8 | es_AR.UTF-8 | es_AR.UTF-8 |

Parece estar bien según esta documentación:

Se sugiere inicializar el cluster y crear la base de datos con encoding UTF8

Voy a hacer una prueba en mi ambiente local para ver si se rompe con los nombres ‘ESPECIALIZACIÓN EN DIDÁCTICA’ y ‘MAESTRÍA EN FORMACIÓN DE FORMADORES’.

Saludos.

Hice una prueba y los acentos no fueron un problema en mi ambiente local.

¿tienen alguna personalización o código modificado?

Saludos.

Estimado, gracias

Con respecto a la consulta:
Solamente se realizaron personalizaciones de reportes, no en funcionalidad.
Para descartar si era problema del encoding, se le cambió el nombre a las propuestas cobrables, dejándolas sin caracteres especiales

Lo que vimos de los screenshot que enviaron no tenemos este código ni otros en el SQ ACADÉMICO , nos faltara algún paso?

Esto es en servicios - administrar servicios.

Para descartar si era problema del encoding, se le cambió el nombre a las propuestas cobrables, dejándolas sin caracteres especiales

Debería funcionar con o sin acentos.

Lo que vimos de los screenshot que enviaron no tenemos este código ni otros en el SQ ACADÉMICO , nos faltara algún paso?

¿En » Administración » Sincronizar Novedades con SQ solapa Propuestas cobrables falla al Sincronizar?

¿SQ Académico sigue dando errores?

Saludos.

Si el error se mantiene tras sincronizar.

Agrego el log de guarani:
guarani20240906_sistema.log (14,9 KB)

Sin acentos:

Log de SQ_academico:
log_academico20240906.log (3,2 KB)