Problemas de conexión con KOLLA y TEHUELCHE G3.18.1

Buenos días.
Salimos a producción ayer con versión 3.18.1
y estamos encontrando problemas de conexion entre kolla y guaraní
desde gestión veo en las unidades de gestión las conexiones y puedo navegar en las encuestas
desde autogestion puedo ver los titulos de las encuestas (es decir las lista, lo mismo con las convocatorias), pero ucando quiero entrar en alguna sale el cartel, “No se puede responder la encuesta. Por favor, contáctate con la oficina de alumnos.”
y en el log sale lo siguiente

clase: Exception
mensaje: No se puede responder la encuesta, ya que los protocolos que usan Guaraní y Kolla son incompatibles (uno usa HTTP y el otro HTTPS).
traza: [TRAZA]

sin embargo ambos están en https. No entiendo

Necesitamos ayuda urgente, ya que es producción.
Gracias!

Hola Luciana,

¿como tenes configurado en instalacion/config.php el parámetro url_kolla?

La validación la hace en la función es_protocolo_compatible de src/siu/modelo/entidades/encuestas_kolla.php.

Pasanos los logs al momento del error (ponelos en modo debug por un momento).

saludos.
2

está configurado como

https://encuestas.uner.edu.ar/

y el log te lo paso adjunto


log_portillo_encuesta_nueva.txt (14.9 KB)

Hola Luciana, gracias por los logs!!!

Dicen:


--  === protocolo_guarani ===  -------------------------------------------------

http

--  === protocolo_kolla ===  ---------------------------------------------------

https

¿estas segura que Guaraní esta con https?

La funcion que chequea que Guaraní usa HTTPS es isHTTPS de la clase vendor/onelogin/php-saml/lib/Saml2/Utils.php.

saludos.
2

tengo todo en dockers tanto gestion como autogestión
y otro docker aparte con el ngixproxy que hace los virtualhost en donde están los certificados
te mando foto de como sale el en la página para que veas que tiene https


certificado guarani.png

certificado guarani.png

Hola Luciana,

Es extraño, resuelve como que Autogestión esta con HTTP y Kolla con HTTPS.

Podes personalizar la función es_protocolo_compatible de src/siu/modelo/entidades/encuestas_kolla.php para que devuelva true, con eso ya no te va a dar el error que me comentabas.

saludos.
2

el error que me salta ahora en el autogestion al querer entra en una encuesta es el siguiente


error encuesta.png

error encuesta.png

Hola Luciana,

Encontre dos foros con el siguiente error en Kolla:

ERROR EN EL ACCESO: no se pudo procesar correctamente el pedido.

Fíjate si se soluciona con la Respuesta #6 que da Clara .

¿que versión de Kolla tienen instalada? Revisen la Correspondencia entre versiones.

saludos.
2

Kolla se solucionó ahora el problema es con tehuelche
Desde Gestión se ven las UG tehuelche y si entramos en autogestión las convocatorias se ven, se pueden actualizar los datos censales asociados, si hay alguna convocatoria aplicada se puede bajar el zip con los comprobantes, pero…
cuando se quiere aplicar para una convocatoria, con el botón confirmar sale el siguiente error
“ERROR EN EL ACCESO, no se encontraron encuestas habilitadas” siendo que estoy aplicando a una convocatoria activa.

Y si desde tehuelche quieren sincronizar los datos
sale lo siguiente en el log
Se han encontrado los siguientes problemas:
Se ha producido un error en el servicio web. Por favor comunique los siguientes datos a su administrador:
Código respuesta: 403
Mensaje de error: Client error: GET https://g3gestion318testeo.uner.edu.ar/guarani/3.18/rest/convocatorias/176/definicion resulted in a 403 Forbidden response:\n{\n “error”: 403,\n “mensaje”: “403 Forbidden”,\n “descripcion”: “Acceso denegado”\n}\n
Client error: PUT https://g3gestion318testeo.uner.edu.ar/guarani/3.18/rest/convocatorias/176 resulted in a 400 Bad Request response:\n{\n “error”: 400,\n “mensaje”: “400 Bad Request”,\n “descripcion”: “Error en la validaci\u00f3n del recurso”,\n (truncated…)\n
Se ha producido un error al intentar sincronizar. Por favor comunique los siguientes datos a su administrador:
Mensaje de error: Client error: PUT https://g3gestion318testeo.uner.edu.ar/guarani/3.18/rest/convocatorias/176 resulted in a 400 Bad Request response:\n{\n “error”: 400,\n “mensaje”: “400 Bad Request”,\n “descripcion”: “Error en la validaci\u00f3n del recurso”,\n (truncated…)\n
Trace: #0 /var/local/tehuelche/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))\n#1 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp{closure}(Object(GuzzleHttp\Psr7\Response))\n#2 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)\n#3 /var/local/tehuelche/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}()\n#4 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run(true)\n#5 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn()\n#6 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending()\n#7 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList()\n#8 /var/local/tehuelche/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()\n#9 /var/local/tehuelche/vendor/guzzlehttp/guzzle/src/Client.php(182): GuzzleHttp\Promise\Promise->wait()\n#10 /var/local/tehuelche/vendor/guzzlehttp/guzzle/src/Client.php(95): GuzzleHttp\Client->request(“put”, “convocatorias/1…”, Array)\n#11 /var/local/tehuelche/php/nucleo/manejador_servicio_web.php(184): GuzzleHttp\Client->_call(“put”, Array)\n#12 /var/local/tehuelche/php/nucleo/convocatorias/sincronizar/administrador_de_sincronizacion.php(164): manejador_servicio_web->enviar_datos_llamado(176, 46)\n#13 /var/local/tehuelche/php/nucleo/convocatorias/sincronizar/administrador_de_sincronizacion.php(25): administrador_de_sincronizacion->sincronizacion_llamado(Object(convocatoria), 46)\n#14 /var/local/tehuelche/php/operaciones/sincronizar/convocatorias/ci_sincro.php(328): administrador_de_sincronizacion->sincronizar_convocatoria(“sincronizacion…”, Object(convocatoria), 46)\n#15 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(322): ci_sincro->evt_ml_sincro_sincronizar(0)\n#16 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei.php(300): toba_ci->registrar_evento(“ml_sincro”, “sincronizar”, 0)\n#17 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei_formulario_ml.php(268): toba_ei->reportar_evento(“sincronizar”, 0)\n#18 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei_formulario_ml.php(230): toba_ei_formulario_ml->disparar_eventos_especifico(“sincronizar”, NULL)\n#19 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(201): toba_ei_formulario_ml->disparar_eventos()\n#20 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(201): toba_ci->disparar_eventos()\n#21 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php(135): toba_ci->disparar_eventos()\n#22 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php(55): toba_solicitud_web->procesar_eventos()\n#23 /var/local/tehuelche/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php(96): toba_solicitud_web->procesar()\n#24 /var/local/tehuelche/www/aplicacion.php(30): toba_nucleo->acceso_web()\n#25 {main}

etc etc

si lo hago directamente con el rest con usuario y clave de tehuelche

“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: No se encuentra el metodo get_definicion%60_list en la clase /data/local/g3gestion/php/rest/convocatorias/recurso_convocatorias.php. \u00bfRuta mal formada?”

entro en ese archivo y el recurso se llama get_definicion_list, no se por que le manda el %60 al fondo

  • GET /convocatorias/id_convocatoria/definicion
    *
    • @notes Permite obtener la definición del relevamiento asociado con una convocatoria.

    • @summary Definición de la convocatoria {id_convocatoria}

    • @responses 200 array {“$ref”:“DefinicionConvocatoria”}

    • @responses 404 La convocatoria {id_convocatoria} no existe

    • @responses 400 Error en los parámetros
      */
      function get_definicion_list($id_convocatoria)
      {
      $definicion = $this->modelo->get_definicion($id_convocatoria); // para ver si existe
      rest::response()->get($definicion);
      }

ahora, en cuanto pongo sin el %60 dice lo siguiente

{
“error”: 403,
“mensaje”: “403 Forbidden”,
“descripcion”: “Acceso denegado”
}

Hola Luciana, gracias por el log!!!

Código respuesta: 403 Mensaje de error: Client error: `GET https://g3gestion318testeo.uner.edu.ar/guarani/3.18/rest/convocatorias/176/definicion` resulted in a `403 Forbidden` response:\n{\n "error": 403,\n "mensaje": "403 Forbidden",\n "descripcion": "Acceso denegado"\n}\n

Cuando da “403 Forbidden” por lo general se debe a un problema de permisos en el archivo php/rest/recursos_usuarios.php de Guaraní Gestión. Revisa que el array $usuarios_tehuelche contenga al usuario que configuraste en instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini para Tehuelche.

Mensaje de error: Client error: `PUT https://g3gestion318testeo.uner.edu.ar/guarani/3.18/rest/convocatorias/176` resulted in a `400 Bad Request` response:\n{\n "error": 400,\n "mensaje": "400 Bad Request",\n "descripcion": "Error en la validaci\u00f3n del recurso",\n (truncated...)\n

Acá suele dar status code 400 cuando hay error en los parámetros.

saludos.
2

si vi ese archivo nuevo cuando cambié de versión
y efectivamente agregué el usuario actual de tehuelche en todas las operaciones en donde aparecía el $usuarios_tehuelche


recursos_usuarios.txt (4.5 KB)

Hola Luciana

El archivo recursos_usuarios.php debería quedar por Ejemplo de la siguiente manera:


<?php

/* 
 * Agregar los usuarios correspondientes 
 * que coincidan con los configurados en el archivo "instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini"
 */
$usuarios_kolla = array('guarani');
$usuarios_tehuelche = array('guarani','usuario_tehuelche');
$usuarios_sq = array('guarani');
$usuarios_3w = array('guarani');
$usuarios_sidcer = array('guarani');
$usuarios_verificador = array('guarani');
.
....

donde usuario_tehuelche es el usuario generado para SIU-Tehuelche y fue configurado en el archivo servidor_usuarios.ini. No deberian editar ninguna parte más, del archivo recursos_usuarios.php

Saludos!

Sergio, sigue dando error
te paso el detalle del paso a paso
y los logs al momento del error

versiones
G3.18.1
kolla 4.5.1
tehuelche 4.2.0


error tehuelche.zip (107 KB)

configuramos de cero guarani/tehuelche/kolla
y logramos una comunicación exitosa

Mil gracias!!

Hola Luciana, me alegro que lo pudieron solucionar!!!

Lo ideal es tener un usuario por cada aplicación que consume la API de SIU-Guaraní en instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini, ej:


[user_tehuelche]
password = 123456789*-a

[user_sq]
password = 123456789*-a

[user_3w]
password = 123456789*-a

[user_sidcer]
password = 123456789*-a

[user_verificador]
password = 123456789*-a

Luego configurar php/rest/recursos_usuarios.php:


<?php

/* 
 * Agregar los usuarios correspondientes 
 * que coincidan con los configurados en el archivo "instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini"
 */
$usuarios_tehuelche = array('user_tehuelche');
$usuarios_sq = array('user_sq');
$usuarios_3w = array('user_3w');
$usuarios_sidcer = array('user_sidcer');
$usuarios_verificador = array('user_verificador');
...

Este ultimo archivo define a que servicios va a tener acceso cada aplicación que consuma la API de SIU-Guaraní. Pueden recrearlo desde su respectivo template: php/rest/recursos_usuarios_template.php.

saludos.
2