[SOLUCIONADO] JSON encoding failed al intentar registrar con arai-registry

Hola!

Gracias por la solución a nuestro problema anterior, ahora al hacer todo pasa de 10 hasta el punto en que tenemos que registrar arai-usuarios con registry, donde salta este error:

./bin/arai-cli registry:add --maintainer-email  mail@unc.edu.ar --maintainer "Yo" http://arai.unc.edu.ar/arai-registry
JSON encoding failed: Malformed UTF-8 characters, possibly incorrectly encoded

No estaría encontrando logs con mas datos sobre el error, alguna idea donde pueda mirar?

Hola Andrés, hay un problema en algún punto entre: leer el arai.json local en arai-usuarios, preparación de cosas que consume/provee, envío hacia arai-registry, procesamiento de respuesta, sincronización local, escritura como arai.lock.

No recuerdo que alguna vez suceda ese error. Editaron manualmente el archivo arai.json del proyecto arai-usuarios? Algún cambio local adicional? Mi conjetura inicial sería que pueden tener un problema de encoding con la instalación del servidor. Que Linux utilizan y si ajustan el PHP vía php.ini con algo en particular.

Algunos tips:

  • en arai-registry, la API rest genera logs, dependiendo de donde lo hayan configurado, busquen en el error.log del apache, en el syslog o en el archivo local arai-regsitry.log.
  • tengan en cuenta el tema del encoding+S.O.+PHP en el servidor de arai-usuarios y en el servidor de arai-registry
  • en el caso del comando arai-cli, hay una opción “–versbose” o “-vvvv” que si la proporcionan mostrará en la pantalla el trace de la excepción (si se produce como excepción claro)
  • pueden probar hacer una petición vía CURL a la api rest de arai-registry y simular alguna operación. Una de ellas es "curl -u user:pass http://arai.unc.edu.ar/arai-registry/rest/status que le tiene que devolver la versión…

No se me ocurren muchas cosas adicionales por verificar.

Hola!

Mientras chequeo el encoding de php y el so, si recuerdo haber cambiado la codificacion de la base de latin1 a utf8, en arai-usuarios.env antes de instalarlo, pero el error segun entiendo lo da registry, al que no le cambiamos el encoding

EDIT:

Probé cambiar el encoding de php (etsaba en ISO-8859 por los recibos de mapuche) y no hay diferencia, me sigue tirando el mismo error. Los logs todavía no pude encontrarlos, probé seteando la variable en file, syslog y errorlog y nada

En arai-usuarios.env, la variable PROYECTO_DB_ENCODING define el encoding de conexión del cliente no el que va a tener la DB. Pueden crear la DB en Postgres con UTF8 y la aplicación se conecta a ella especificando su propio encoding de cliente. (para aplicaciones hechas en Toba, por naturaleza esto debe ser LATIN1). Te recomiendo que vuelvas a cambiarlo a LATIN1 y reintentar.

Cuando haces cambios, si es en el arai-usuarios.env, tenes que hacer una de tres: 1) reinstalar; 2) reconfigurar vía comando del instalador; 3) editar manualmente en instalacion/bases.ini y config/databases.yml.

Hola!

Después de todo este tiempo pude sentarme de nuevo con ésto, te comento que los chicos descubrieron que el problema pasaba por usar certificados de let’s encypt y no certificados generados por el propio toba, de alguna forma pasé por alto la advertencia en la documentación sobre los tipos de certificados admitidos, una vez cambiado esto la aplicación se registra sin problemas! Así que lo marco como solucionado!

Gracias por la asistencia!