Conexion con Arai

Buenos Días
Estamos en la versión 3.21.2 en un servidor de desarrollo y estamos probando conexión con Arai para poder guardar los requisitos de ingreso en Arai Documentos, siguiendo la documentación (https://expedientes.siu.edu.ar/docs/guarani/) nos sale el siguiente error al exportar los usuarios con el comendo bin/guarani exportar_usuarios_arai

PHP Fatal error:  Uncaught SIU\JsonUtil\JsonValidationException: "/proyectos/guarani/instalacion/usersExportFiles/usuarios_guarani.json.json" does not match the expected JSON schema in /proyectos/guarani/vendor/siu/json-util/src/SIU/JsonUtil/JsonFile.php:304

No tenemos valores vacios en el nombre elegido. Que otra cosa podría pasar?

Saludos

Hola Yanina,

¿te registra algún error en instalacion/logs_comandos/comandos.log?

¿la siguiente query te devuelve alguna columna con datos vacíos?


SELECT 
                                        DISTINCT vp.usuario,
                                        vp.nombres_elegido as nombres,
                                        vp.apellido_elegido as apellidos,
                                        vp.apellido_nombres_elegido as nombre_completo,
                                        vp.sexo,
                                        vp.tipo_documento,
                                        vp.desc_tipo_documento,
                                        vp.nro_documento,
                                        p.bloqueado::varchar(1),
                                        array_to_string(array(
                                                        SELECT mdp_personas_contactos.email
                                                        FROM mdp_personas_contactos
                                                        WHERE mdp_personas_contactos.persona = p.persona
                                                        AND contacto_tipo IN ('MP', 'MS', 'MI')
                                                        ORDER BY CASE mdp_personas_contactos.contacto_tipo 
                                                WHEN 'MP' THEN 1
                                                WHEN 'MS' THEN 2
                                                WHEN 'MI' THEN 3
                                                ELSE 4
                                        END
                                        ), ',') AS emails,
                                        '' AS clave,
                                        'crypt' AS autentificacion,
                                        ga.tipo_usuario
                                FROM 
                                        vw_personas as vp
                                        JOIN mdp_personas as p ON (vp.persona = p.persona)
                                        JOIN mdp_personas_grupo_acc as ga ON (ga.persona = p.persona)
                                WHERE
                                        ga.tipo_usuario IN('Docente', 'Gestion')
                                        AND vp.usuario IS NOT NULL

                                ORDER BY
                                        ga.tipo_usuario DESC, vp.usuario;

Revisa también el la Respuesta #5 del foro 24696.

saludos.
2

Te mando la query mejorada:


UPDATE mdp_personas SET nombres_elegido = NULL WHERE trim(nombres_elegido) = '';
UPDATE mdp_personas SET apellido_elegido = NULL WHERE trim(apellido_elegido) = '';

Con esto evitas columnas con valores vacios.

saludos.
2

Buenos Dias

¿te registra algún error en instalacion/logs_comandos/comandos.log?
No me registra ningun error
¿la siguiente query te devuelve alguna columna con datos vacíos?
Solo el correo, las otras no, y bueno la clave porque asi esta definida en la consulta
Te mando la query mejorada:
ejecutando esto, no actualiza ninguna registro

Revisa el archivo vendor/siu/arai-json-migrator/schema/arai-migrator-schema.json.

¿tenes algún dato que pueda hacer fallar la validación?

Ej: El tipo de documento debe ser DNI, LC, LE, Pasaporte o Cédula, el numero de documento solo letras, números y - (guion medio), genero F, M, X o ND. Revisa donde dice pattern para ver si tus datos cumplen con la expresión regular.

saludos.
2

buenos Días
Si había estando revisando ese archivo y no tengo otros tipos de documentos, tengo los números de documentos que solo son números y letras, genero F y M y lo único que veo es que hay algunos valores que requieren tener un tamaño mínimo pero no tienen valores como por ejemplo el numero de empleado o clave, no se si es eso el problema, adjunto imagen, luego tengo usuarios con numeros, letras y guion bajo pero para ese campo solo valida que sea un string.

Saludos


Captura desde 2023-08-25 09-48-21.png

Captura desde 2023-08-25 09-48-21.png

Hola Yanina,

Revisa la función opcion__exportar_usuarios_arai de vendor/siu-toba/framework/php/modelo/aplicacion/toba_aplicacion_comando_base.php, la cual llama a las funciones generatePerson y generateAccountApp de vendor/siu-toba/framework/php/modelo/aplicacion/toba_aplicacion_modelo_base.php, revisa que la query devuelva los siguientes datos: nombres, apellidos, nombre_completo, bloqueado, emails, usuario, clave y autentificacion, y que las mismas cumplan las validaciones del archivo vendor/siu/arai-json-migrator/schema/arai-migrator-schema.json.

Te voy a pedir que hagas la siguiente prueba:
En la función validateStringSchema de vendor/siu/json-util/src/SIU/JsonUtil/JsonFile.php agrega los siguientes var_dump:


    public static function validateStringSchema($jsonString, $schemaFile, $schema = self::STRICT_SCHEMA, $file = null)
    {
        $data = json_decode($jsonString);
        var_dump($data);
        ......................
            foreach ((array) $validator->getErrors() as $error) {
                $errors[] = ($error['property'] ? $error['property'].' : ' : '').$error['message'];
            }
            var_dump($errors);

Luego al ejecutar el comando bin/guarani exportar_usuarios_arai te mostrara los datos y el error, ej:


["genero"]=> string(1) "H"

string(71) "accounts[0].person.genero : Does not match the regex pattern ^F|M|X|ND$"

saludos.
2

Muchas Gracias!! Había un documento con puntos que no lo había detectado.

Saludos

Siguiendo con la documentación me salta el siguiente error al ejecutar bin/guarani vincular_usuarios_arai ¿Porque podría estar ocurriendo?

Inicia proceso aplicacion gestion... Se procesaron 93 cuentas de Ara� asociadas a Guaran�. Se vincularon 0 cuentas de Ara� con Guaran�. Finaliza proceso aplicacion gesti�n...

Inicia proceso aplicacion 3W…
Ocurri� el siguiente error procesando usuarios: Ocurri� un error de conexi�n con SIU-Ara� Usuarios.

Hola Yanina,

¿tenes bien configurado el archivo instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini?

¿te da mas detalles en los logs instalacion/logs_comandos/comandos.log?

Revisa también Vincular cuentas de SIU-Guaraní con Araí-Usuarios.

saludos.
2

Muchas Gracias el problema estaba en que había un espacio demás en la variable appUniqueId3w
Saludos

@lleonardis perdón por abrir este tema, pero estamos teniendo problemas al exportar por que algunos usuarios tienen 2 direcciones de mail y el archivo json da problemas. Nos dijeron que esto se soluciona en la versión 3.23 (nosotros estamos en la 3.22.1) pero necesitamos realizar unas pruebas.
La consulta es, dónde puedo dejar un json con los datos que necesitamos para las pruebas para que no m salte el error ? Es posible hacer esto? O sino se puede saltea este paso y dar de alta a los usuarios que van a realizar la firma en Arai documentos solamente?

Muchas gracias