Error al iniciar sesion en Portal Proveedores V2.0.2 (SOLUCIONADO)

Hola, abro éste tema por un error que se presenta en el contenedor de proveedor_api al momento de iniciar sesion con un proveedor autorizado.
Al parecer intenta buscar los datos en la columna “preinscripcion.pp_preinscripciones.uid” del usuario pero ingresando el nombre del usuario (tipo string) en lugar de su uid (tipo uuid). Si hacemos esa misma consulta en la base pero colocando el uid funciona correctamente.
Dejo por las dudas que la funcion que hace la consulta la encontramos en:

proveedores_api.1.uwxqt6m61qff:/usr/local/app/src/SIU/ProveedoresNucleo/Dao/PreinscripcionesDao.php Linea 502

El error que se produce:

proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | [Thu Oct 17 17:52:16.152548 2024] [php:notice] [pid 23] [client 10.0.2.41:34168] [2024-10-17T17:52:16.152471-03:00] NUCLEO.ERROR: Error obteniendo datos de la preinscripcion del proveedor: SQL ERROR: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: "maxi.lobov"\nLINE 35:             pi.uid = 'maxi.lobov'\n                              ^\nSELECT \n            pi.id_preinscripcion\n            ,pi.fecha\n            ,pi.estado as estado_preinscripcion\n            ,pi.existente           \n            ,p.persona\n            ,p.nacionalidad\n            ,cp.nombre as nacionalidad_descripcion\n            ,p.razon_social\n            ,p.fisica_o_juridica\n            ,p.nombre_fantasia\n            ,p.sexo\n            ,p.email\n            ,p.cbu\n            ,p.estado\n            ,p.tipo_persona\n            ,p.url\n            ,p.tel_cel      \n            ,p.nro_cta_bancaria      \n            ,p.tipo_cuenta_bancaria      \n            ,p.extranjero                 \n            ,p.observaciones\n            ,pi.cuit\n            ,pd.persona as persona_arai\n        FROM \n            preinscripcion.pp_personas p,            \n            catalogos.mug_paises cp,\n            preinscripcion.pp_preinscripciones pi\n\t\t\tLEFT JOIN  catalogos.mdp_personas_x_documentos pd  ON  REPLACE(pd.numero,'-','') = pi.cuit                         \n        WHERE\n            p.id_preinscripcion = pi.id_preinscripcion\n        AND\n            p.nacionalidad = cp.pais\n        AND\n            pi.uid = 'maxi.lobov'\n         {"error-class":"SIU\\\\TobaDb\\\\ErrorDb"} []\n
proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | [Thu Oct 17 17:52:16.152980 2024] [php:notice] [pid 23] [client 10.0.2.41:34168] [2024-10-17T17:52:16.152952-03:00] REST-API.INFO: La api retorn\xc3\xb3 un error. Status: 404 [] []\n
proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | [Thu Oct 17 17:52:16.153077 2024] [php:notice] [pid 23] [client 10.0.2.41:34168] [2024-10-17T17:52:16.153050-03:00] REST-API.INFO: array (\n  'error' => 404,\n  'mensaje' => '404 Not Found',\n  'descripcion' => 'Error al obtener los datos del proveedor o no se han encontrado.',\n) [] []\n
proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | [Thu Oct 17 17:52:16.153238 2024] [php:notice] [pid 23] [client 10.0.2.41:34168] [2024-10-17T17:52:16.153176-03:00] REST-API.DEBUG: Pedido finalizado [] []\n
proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | [Thu Oct 17 17:52:16.153337 2024] [php:notice] [pid 23] [client 10.0.2.41:34168] [2024-10-17T17:52:16.153308-03:00] REST-API.DEBUG: SIUToba\\rest\\http\\respuesta_rest::__set_state(array(\n   'status' => 404,\n   'headers' => \n  array (\n    'Content-Type' => 'application/json',\n    'API-Version' => '1',\n  ),\n   'data' => \n  array (\n    'error' => 404,\n    'mensaje' => '404 Not Found',\n    'descripcion' => 'Error al obtener los datos del proveedor o no se han encontrado.',\n  ),\n   'encoding' => 'utf-8',\n   'api_version' => '1',\n)) [] []\n
proveedores_api.1.uwxqt6m61qff@siunc-arai-lab-1    | 10.0.2.41 - proveedores [17/Oct/2024:17:52:16 -0300] "GET /api-proveedores/rest/preinscripciones/maxi.lobov/proveedor HTTP/1.1" 404 139 "-" "GuzzleHttp/6.5.5 curl/7.78.0 PHP/7.4.21"

Si les hace falta algun dato mas lo agrego.

Saludos, Ema

Hola Emanuel,

Te confirmo que este problema lo habíamos detectado y la corrección saldrá en una próxima versión.
A pesar del error, deberían poder iniciar sesión y acceder a las operaciones del Portal del Proveedor. Si esto no es así, te pido que nos carguen un GDS adjuntando los logs completos y lo seguimos viendo.

Gracias!
Saludos.

Muchas gracias Pablo, si efectivamente podemos iniciar sesion sin problemas. Lo que si, se nos presenta el incoveniente de que al ingresar con las credenciales de un proveedor al pulsar en la opcion de Ordenes de Compra. Muestra el mensaje “No se han encontrado trámites” a pesar de que si se cargaron ordenes de compra en Diaguita a ese proveedor.
Envío archivo con los logs de los servicios proveedores_api y proveedores_portal. En ninguno de ellos visualizamos errores para éste caso
logsPortalProveedores.txt (16,5 KB)

Gracias, saludos

Hola Emanuel,

El listado de ordenes de compra se obtiene directamente consumiendo la API de Diaguita y no la API de Proveedores. Estimo que el problema puede deberse a un problema de conexión a la API de Diaguita.
Podrian verificar si han realizado correctamente estos pasos: SIU-Proveedores | Solución de Expediente Electrónico Integrado

También podrían verificar al iniciar sesión con el proveedor, si en el log del Portal del Proveedor tienen un error de conexión a Diaguita.

Del lado de Diaguita, pueden visualizar el log “instalacion/i__produccion/p__diaguita/logs/web_services.log” para ver si llega una petición al REST de ordenes de compras y asi confirmar que esta llegando a Diaguita el pedido. Si llega la petición, podrían verificar logs de apache y postgres de Diaguita para verificar si allí encuentran algún error.

Si no logran identificar el problema y resolverlo, podrían cargar un GDS adjuntando los logs y lo seguimos analizando.

Saludos.

Muchas gracias Pablo por la respuesta, efectivamente nos sirvió ver en los logs del lado de Diaguita. Cambiamos la autenticacion de Digest a Basic en “instalacion/i__produccion/p__diaguita/rest/servidor.ini” y funcionó!
Ahora el problema que nos esta reportando es que no encuentra el catalogo oferta_electronica.

{
“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: El parámetro ‘oferta_electronica’ no existe en el catálogo del sistema”
}

Dejo el log del docker proveedores_portal:

proveedores_portal.1.dedc3vx8jq4w@siunc-arai-lab-1 | [Mon Oct 28 11:37:46.856743 2024] [php7:notice] [pid 18] [client 10.0.1.73:49952] [2024-10-28 11:37:46] app.ERROR: Server error: GET http://spgi-diaguita-api-4-dev.psi.unc.edu.ar/spgi/diaguita_prueba_3501/rest/v1/configuracion/configuracion-parametros/OFERTA_ELECTRONICA resulted in a 500 Internal Server Error response: { “error”: 500, “mensaje”: “500 Internal Server Error”, “descripcion”: "Error Interno en el servidor: El par (truncated…), referer: SimpleSAMLphp?

La version de Diaguita que estamos conectando es la 3.5.0, mientras que la version de EEI es la 1.8.1

Hola Emanuel,

Para usar oferta electrónica desde el Portal del Proveedor, es necesario tener Diaguita 4.0.0 y activar el parámetro OFERTA_ELECTRONICA poniéndolo en SI.

Saludos.

Muchas gracias Pablo por la ayuda, el problema que teniamos era que iniciamos con una base de datos vacia la integración con Proveedores, por eso al pulsar en la opción Ordenes de Compra no presentaba error pero tampoco traía ningún tramite.
Hicimos una copia de la bd arai_proveedores ya existente y configurando los parametros en proveedores.env pudimos llevar a cabo la integracion adecuadamente.
Ahora si se pueden visualizar desde el Portal los comprobantes que se suben desde Diaguita.
Muchas gracias nuevamente, saludos.

Hola, buenas tardes. Al momento de registrar los datos de un proveedor (e-mail y cuit del proveedor) en el portal de proveedores, nos aparece el siguiente error:

El servicio solicitado no se encuentra disponible, por favor intente mas tarde

Revisando los logs del sistema, se produce el siguiente error:

Thu Mar 13 12:01:41.151561 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.151506-03:00] MAIN.INFO: Se obtienen cuentas del usuario {"recurso":"usuarios","limit":"2"} []\n

[Thu Mar 13 12:01:41.222334 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.222224-03:00] NUCLEO.ERROR: Error de consulta en Arai-Usuarios: Error inesperado.  {"error-class":"SIU\\\\ProveedoresApi\\\\Error\\\\ProveedoresProviderException","ex_fctn":"SIU\\\\ProveedoresNucleo\\\\PreinscripcionesNucleo::verificarEmailUsuarioDisponible"} []\n

[Thu Mar 13 12:01:41.222499 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.222445-03:00] NUCLEO.ERROR: Error en validacion de preinscripcion: Error de consulta en Arai-Usuarios: Error inesperado.  {"error-class":"Exception","error-code":0} []\n

[Thu Mar 13 12:01:41.222775 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.222733-03:00] REST-API.INFO: La api retorn\xc3\xb3 un error. Status: 500 [] []\n

[Thu Mar 13 12:01:41.222855 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.222821-03:00] REST-API.INFO: array (\n  'error' => 500,\n  'mensaje' => '500 Internal Server Error',\n  'descripcion' => 'Error de consulta en Arai-Usuarios: Error inesperado. ',\n) [] []\n

[Thu Mar 13 12:01:41.223062 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.223028-03:00] REST-API.DEBUG: Pedido finalizado [] []\n

[Thu Mar 13 12:01:41.223155 2025] [php:notice] [pid 24] [client 10.0.2.19:57568] [2025-03-13T12:01:41.223122-03:00] REST-API.DEBUG: SIUToba\\rest\\http\\respuesta_rest::__set_state(array(\n   'status' => 500,\n   'headers' => \n  array (\n    'Content-Type' => 'application/json',\n    'API-Version' => '1',\n  ),\n   'data' => \n  array (\n    'error' => 500,\n    'mensaje' => '500 Internal Server Error',\n    'descripcion' => 'Error de consulta en Arai-Usuarios: Error inesperado. ',\n  ),\n   'encoding' => 'utf-8',\n   'api_version' => '1',\n)) [] []\n

Desde ya muchas gracias

Saludos

Buenas tardes, Ivan

Te sugiero que verifiques el log de la API de Arai-Usuarios para confirmar si la petición de la API de Proveedores llegó correctamente y si hay algún error registrado allí. Al parecer el problema podría estar relacionado a los atributos de conexión entre la API de Proveedores y la API de Usuarios.

En caso de que el problema no esté relacionado con los parámetros de conexión, por favor carga un GDS con los logs de la API de Arai-Usuarios.

Saludos.

Hola Roberto, buen día. Muchas gracias por la respuesta!! Tanto el usuario como la contraseña de la API de Arai-Usuarios estaban mal configurados. Saludos

Hola Iván,
Genial que lo pudieron resolver!!
Muchas gracias por tu respuesta.
Saludos!