Tenemos la versión 3.18.0 y quiero empezar a ver como es el tema del consumo de la API REST. Tengo el acceso al swagger para la documentación de cada módulo (alumnos, comisiones, convocatorias, etc.), ya cree un usuario para probarlo en el archivo servidor_usuarios.ini:
[admindev]
password = restd3s4rr0ll0g3
En el archivo servidor.ini solo esta lo siguiente:
;servidor.ini
autenticacion = basic
El problema es que cuando quiero probarlo, ya sea por Postman o por el mismo Swagger (con el botón "Try it out!") siempre me da como respuesta código 403:
{
"error": 403,
"mensaje": "403 Forbidden",
"descripcion": "Acceso denegado"
}
Evidentemente me está faltando poner la autenticación en algún lado, pero no sé donde? si me pueden orientar o mencionar alguna documentación para el uso de la API se los agradecé mucho, saludos!
Entonces en la primeras líneas del archivo ‘<path proyecto Guaraní>/php/rest/recursos_usuarios.php’, donde se define el contenido del array $usuarios_sidcer deberías agregar tu usuario:
El 404 es que no existe el servicio, o en algunos servicios se devuelve 404 cuando una búsqueda no devuelve resultados. En el caso de los servicios del recurso personas un 404 significa que la persona no existe.
Si ingresas a http:///rest/ vas a poder ingresar al Swagger y ver los status code que devuelve cada Web Service. En el caso de GET /personas es el siguiente:
200 OK (datos de contacto de la persona)
404 Not Found La persona no existe
400 Error en los parámetros
Buenas. Si seguramente tengo algo mal configurado. Si queres te paso la captura de toda la configuración total es testing y me indicas que me esta faltando o que esta mal. Te parece?
Buenas. Listo lo de la URL lo corregí.
Despues pusiste que configure que Guarani consuma os servicios de Sidcer que me falta de eso?
En <path proyecto Gestión>/instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini puse el usuario y contraseña que me pasaron del Sidcer que te mande la captura y en <path proyecto Gestión>/php/rest/recursos_usuarios.php puse el usuario tambien.
La comunicación entre Guaraní - Sidcer es bidireccional.
Guaraní Gestión y Autogestión consumen Sidcer para saber el estado de los títulos.
Guaraní Gestión: En <path proyecto Gestión>/instalacion/i__/p__guarani/rest/sidcer/cliente.ini se configura para poder “hablar” con la API REST de Sidcer.
Guaraní Autogestión: En <path proyecto 3w>/instalacion/servicios_web_config.php se configura para poder “hablar” con la API REST de Sidcer.
Para que Sidcer “hable” con Guaraní tenes que hacer los pasos donde dice “Para que SICer consuma los Web Services de SIU-Guaraní” de esta documentación. Aqui creas un usuario de API REST para que consuma Sidcer, luego deberás configurar Sidcer para que consuma la API REST de Guaraní.
“Para que Sidcer “hable” con Guaraní tenes que hacer los pasos donde dice “Para que SICer consuma los Web Services de SIU-Guaraní” de esta documentación. Aqui creas un usuario de API REST para que consuma Sidcer, luego deberás configurar Sidcer para que consuma la API REST de Guaraní.”
Esto también lo realice te mande en el archivo vinculación.rar en una de las respuestas anteriores.
error 500
mensaje “500 Internal Server Error”
descripcion “Error Interno en el servidor: Este controlador no está configurado para manejar esta URL. La url es: ‘/guarani/rest’, la url de la API es ‘/guarani//rest’”
Tenia comentado en el archivo servidor.ini la autenticación.
¿como tenes configurados los archivos instalacion/toba.conf, instalacion/i__desarrollo/p__guarani/rest/servidor.ini y instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini en Guaraní Gestión?
En instalacion/i__desarrollo/p__guarani/rest/servidor.ini tenes configurado url_api, te recomiendo que lo comentes en caso de tenerlo configurado.
Observo lo siguiente en el archivo instalacion/toba.conf:
#Proyecto: guarani
Alias /guarani "/usr/local/proyectos/guarani/www/"
<Directory "/usr/local/proyectos/guarani/www/">
SetEnv TOBA_DIR "/usr/local/proyectos/guarani/vendor/siu-toba/framework"
SetEnv TOBA_PROYECTO "guarani"
SetEnv TOBA_INSTALACION_DIR "/usr/local/proyectos/guarani/instalacion"
SetEnv TOBA_INSTANCIA "desarrollo"
DirectoryIndex aplicacion.php
AllowOverride None
<IfModule !mod_access_compat.c>
#Apache 2.2.x
##Piense en actualizar la version del web server a Apache 2.4.x al menos
##Si desea seguir en esta version, descomente las siguientes lineas
# Order allow,deny
# Allow from all
</IfModule>
<IfModule mod_access_compat.c>
#Apache 2.3.x/2.4.x back-comp (deprecated)
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
#Apache 2.4.x
Require all granted
</IfModule>
#API REST
RewriteEngine On
RewriteBase /guarani/
Options FollowSymLinks SymLinksIfOwnerMatch
RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
RewriteRule ^rest$ rest.php/ [PT,L,QSA]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</Directory>
Reemplaza RewriteBase /guarani/ por RewriteBase /guarani (seria quitar la “/” al final), luego reinicia Apache y volve a intentar.
Los archivos instalacion/i__desarrollo/p__guarani/rest/servidor.ini e instalacion/i__desarrollo/p__guarani/rest/servidor_usuarios.ini parecen estar bien.
Elimine los adjuntos ya que contienen contraseñas.