Integración error en Diaguita para selección el firmante

Hola tenemos problemas para seleccionar el firmante al cual se le enviarán los documentos para firmar desde Diaguita.
Nos sale el siguiente error
Error getUsuarios, codigo 502. Mensaje: Server error: `GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$
Bad Gateway
En el log docs-cli.log

2020-11-02 18:12:03] docs-cli.INFO: URL GET: backend/usuarios?filtro=s
[2020-11-02 18:12:03] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$ Bad Gateway [] [] [2020-11-02 18:12:46] docs-cli.INFO: URL GET: backend/usuarios?filtro=s [] [] [2020-11-02 18:12:46] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$
Bad Gateway

[2020-11-02 18:22:49] docs-cli.INFO: URL GET: backend/usuarios?filtro=a
[2020-11-02 18:22:49] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$ Bad Gateway [] [] [2020-11-02 18:22:49] docs-cli.INFO: URL GET: backend/usuarios?filtro=as [] [] [2020-11-02 18:22:49] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$
Bad Gateway

[2020-11-02 18:22:57] docs-cli.INFO: URL GET: backend/usuarios?filtro=ad
[2020-11-02 18:22:57] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$ Bad Gateway [] [] [2020-11-02 18:22:57] docs-cli.INFO: URL GET: backend/usuarios?filtro=admi [] [] [2020-11-02 18:22:57] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$
Bad Gateway

[2020-11-02 18:35:13] docs-cli.INFO: URL GET: backend/usuarios?filtro=%
[2020-11-02 18:35:13] docs-cli.ERROR: Error getUsuarios, codigo 502. Mensaje: Server error: `GET https://expedientes.uncoma.edu.ar/docs/rest/backend/u$
Bad Gateway
Los datos ingresados en el Server Provider en Huarpe son los siguientes
Entity Id: https://diaguitatest.uncoma.edu.ar/diaguita/default-sp
Assertion Consumer Serv.: https://diaguitatest.uncoma.edu.ar/diaguita/?acs
Single Logout Serv.: https://diaguitatest.edu.ar/diaguita/?sls
En clinte.ini contenido del archivo en diaguita
[conexion]
to = “https://expedientes.uncoma.edu.ar/usuarios/rest/
auth_tipo = basic
auth_usuario = diaguita
auth_password = ********

Configuración de diaguitatest:

host_arai = “https://expedientes.uncoma.edu.ar/docs
usr_arai = “documentos”
pass_arai = “"
logs_dir = “/var/www/html/SIU-Diaguita-3.0.0/logs”
queue_path = “/var/www/html/SIU-Diaguita-3.0.0/temp”
queue_temp_dir = “/tmp”
db_queue = “diaguita”
dbq_host = “localhost”
dbq_port = “5432”
dbq_user = “postgres”
dbq_password = "

dbq_table_name = “queue.queue”
polling_interval = 1000
rest_diaguita = “https://diaguitatest.uncoma.edu.ar/diaguita/rest/notificaciones/documento

En bundle
USR_API_DIAGUITA=diaguita
URL_API_DIAGUITA= "https://diaguitatest.uncoma.edu.ar/diaguita/rest/”

Donde le estamos errando? Por donde buscamos?
Saludos


error.png

error.png

errordiaguita.png

errordiaguita.png

Hola Cristian,

¿Que versión de siu/expedientes están utilizando? ¿tienen cambios locales a la parte de arai-documentos? La documentación sobre como integrar una instalación externa de Diaguita al esquema de expedientes digital pide este cambio.

Saludos!

Estamos en la version 1.0.3 pero ese cambio no lo había hecho. Modifique la linea del docs.yml pero ahora me da este otro error:
[2020-11-03 18:22:18] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/3ulrr5hnBTDvneZHBOa4opGLZ
[2020-11-03 18:24:26] docs-cli.INFO: URL GET: backend/usuarios?filtro=admin
[2020-11-03 18:24:29] docs-cli.INFO: Obteniendo stream almacenado en fs
[2020-11-03 18:24:29] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/Z157jBBSYcQhe6cqeMpMM3F73
[2020-11-03 18:24:30] docs-cli.INFO: Obteniendo stream almacenado en fs
[2020-11-03 18:24:30] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/Prs7of9ywTg0SPVeHh1sW493X
[2020-11-03 18:24:38] docs-cli.INFO: Obteniendo stream almacenado en fs
[2020-11-03 18:24:38] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/BjUOEAqOgSRgRZg8VRRnRS6th
[2020-11-03 18:24:42] docs-cli.INFO: Obteniendo stream almacenado en fs
[2020-11-03 18:24:42] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/X3RuYazxnTiT3RrDBr6pUv3bn
[2020-11-03 18:24:45] docs-cli.INFO: Obteniendo stream almacenado en fs
[2020-11-03 18:24:45] docs-cli.ERROR: No se pudo obtener el stream del archivo a enviar. File: /tmp/wLMMj4XfckyfBmlqxpPGcQKLS

Cristian

Bien, esta funcionando este ajuste en arai-documentos entonces.

Esto ya es un error del lado de Diaguita. Al intentar enviar el archivo desde diaguita, no puede leerlo del “/tmp/…”. Véanlo con el equipo de Diaguita, pues es algo local.

Nota de color. En linux con systemd mas reciente, el dir /tmp quizá no está siendo accesible desde apache. Es una política de “seguridad”. Quizá apache esté viendo un /tmp que systemd lo mapea en otra locación real…

Hola, efectivamente uno de los problemas era que no podía acceder al directorio /tmp. Modifiqué el parámetro “queue_temp_dir” en arai_documentos.ini asignándole el directorio temp de la instalación de diaguita y no arroja mas ese error.

Ahora las solicitudes de bsys quedaron en estado pendiente de envío, en el archivo queue.log muestra que las credenciales son inválidas. En qué archivo de configuración se encontraría el usuario y contraseña que intenta utilizar?

el log de queue muestra algo como esto:

[2020-11-04 20:42:03] REPLOG.INFO: [ActualizarEstadoDocumentosProcessor] Inicio procesamiento mensaje
[2020-11-04 20:42:03] REPLOG.ERROR: [ActualizarEstadoDocumentosProcessor][ErroDBUnexpected]Error inesperado.
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_42601
[MENSAJE]: ERROR: Los valores de escape Unicode no puede ser usados para valores de �code point� sobre 007F cuando la codificaci�n de servidor no es UTF8 en o cerca de �’{“documento”:{“tipo”:“SBS”,“titulo”:“Solicitud de bienes y servicios - SBS:17/2020 - Solicitud”,“descripcion”:“Solicitud de bienes y servicios - SBS:17/2020 - Solicitud”,“id_tramite”:null,“url”:“https://diaguitatest.uncoma.edu.ar/diaguita/rest/notificaciones/documento”,“identificador”:{“tipo”:“SBS”,“nro”:17,“anio”:2020},“referencia_interna”:{“id_solicitud”:“148”,“nuevo_estado”:“AU”,“id”:9},“atributos”:false,“archivo”:{“md5”:null,“contenido_base64”:null,“filepath”:“/var/www/html/SIU-Diaguita-3.0.0/temp/q6d7q9NFM8rUbVcUwmg0jWyei”},“autorizacion”:{“modelo”:“simple”,“autorizantes”:[{“id_usuario_sso”:“prueba”,“nivel”:“firma”}]},“origen”:{“id_usuario_sso”:“prueba”,“id_instalacion”:“SIU-Diaguita”,“cuenta_usuario”:“prueba”}},“callback_file”:false,“estado_descripcion”:“Las credenciales provistas para Arai Documentos son inv\u00e1�
LINE 2: SET estado_autorizacion = ‘FA’, status = '{“documen…
^
[SQL EJECUTADA]: UPDATE diaguita.scp_documentos_exportaciones
SET estado_autorizacion = ‘FA’, status = '{“documento”:{“tipo”:“SBS”,“titulo”:“Solicitud de bienes y servicios - SBS:17/2020 - Solicitud”,“descripcion”:“Solicitud de bienes y servicios - SBS:17/2020 - Solicitud”,“id_tramite”:null,“url”:“https://diaguitatest.uncoma.edu.ar/diaguita/rest/notificaciones/documento”,“identificador”:{“tipo”:“SBS”,“nro”:17,“anio”:2020},“referencia_interna”:{“id_solicitud”:“148”,“nuevo_estado”:“AU”,“id”:9},“atributos”:false,“archivo”:{“md5”:null,“contenido_base64”:null,“filepath”:”/var/www/html/SIU-Diaguita-3.0.0/temp/q6d7q9NFM8rUbVcUwmg0jWyei”},“autorizacion”:{“modelo”:“simple”,“autorizantes”:[{“id_usuario_sso”:“prueba”,“nivel”:“firma”}]},“origen”:{“id_usuario_sso”:“prueba”,“id_instalacion”:“SIU-Diaguita”,“cuenta_usuario”:“prueba”}},“callback_file”:false,“estado_descripcion”:"Las credenciales provistas para Arai Documentos son inv\u00e1lidas. ",“estado_detalle”:"Las credenciales provistas para Arai Documentos son inv\u00e1lidas. "}'::jsonb
WHERE id_documento_exportacion = 9
params: array (
‘id_solicitud’ => ‘148’,
‘nuevo_estado’ => ‘AU’,
‘id’ => 9,
)

desde ya muchas gracias por la ayuda!!!
Saludos! Eli.

Hola Elisa,

Las credenciales para arai-documentos son las que se encuentran en el archivo arai_documentos.ini.


usr_arai = "documentos"
pass_arai = "*****"

De que manera están corriendo el worker? Después de hacer algún cambio en el arai_documentos.ini lo recomendable seria reiniciar el servicio del worker para asegurarse de que impacten los cambios.

Saludos

Hola Pablo, gracias por la respuesta! estamos usando supervisor como recomiendan en la documentación. Reinicié el worker porque no lo había hecho luego de modificar la contraseña que estaba mal escrita en arai_documentos.ini
Después finalicé la carga de una solicitud en diaguita para mandar a firmar y funcionó como debía ser: ahora aparece esa solicitud en la bandeja de documentos del usuario. Pero no aparecen las anteriores solicitudes que había mandado a firmar mientras estaba mal seteada la contraseña, haciendo tail -f del log de queue sigue mostrando esas solicitudes. Que se debe hacer? en la base de datos veo en la tabla queue.queue datos de esas solicitudes …
les agradezco nuevamente por su ayuda! Saludos

Buenísimo Elisa!
Las enviadas anteriormente deberían haber quedado con el estado “Fallido”.
Podrías verificar en Diaguita desde la ficha de cada solicitud de bienes y servicios donde fallo el envío, en la sección de abajo se encuentra un listado con los documentos publicados. Cada uno de los documentos debe tener el estado Fallido y en la columna de la derecha deberías ver un botón para volver a enviarlo a firmar.

Saludos.

Es cierto, antes aparecía ese botón para reenviar y decía estado “fallido”, yo reintentaba desde ahí pero ahora dice “pendiente de envío”. No se ve el botón.
Adjunto imagen.
Mil gracias por tu tiempo.


imagen_estado.png

imagen_estado.png

Elisa,
El estado “Pendiente de envío” indica que ese documento no se pudo enviar a firmar, esto sucede normalmente porque el worker no se encuentra corriendo. Podrías verificar si el worker esta corriendo para confirmar que no sea esto.

Estos documentos deberían estar encolados y existir en la tabla queue.queue,. No realizaron ninguna acción manual sobre esta tabla?

no realizamos ninguna acción sobre la tabla, solo entré a mirar por curiosidad y veo que aparececen esas solicitudes, pero en ningún momento hice modificación
el worker se encuentra corriendo y su contenido es:

[program:diaguita-worker-documentos]
command=/var/www/html/SIU-Diaguita-3.0.0/bin/toba proyecto iniciar_workers_arai_documentos -p diaguita
autostart=true
autorestart=true
stderr_logfile=/var/log/diaguita-worker-documentos_err.log
stderr_logfile_maxbytes=2MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stdout_logfile=/var/log/diaguita-worker-documentos_stdout.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB

envío un extracto del log porque repite eso todo el tiempo, si dejo el comando tail -f veo que escribe eso en el log una y otra vez.


queue.txt (12.9 KB)

Elisa, te pido que nos crees un GDS en Diaguita así seguimos por ahí y te voy pidiendo mas datos.
Saludos