Histórico da Página
Totvs recibo para su funcionamiento correcto tiene que ser configurado el puerto multiprotocolo y la configuración del servicio HTTP manualmente:
2.1 - Configuración del Multiprotocolo
La configuración del multiprotocolo solo está disponible a partir de la versión 20200214 de LIB y Appserver versión 7.00.191205P .
A continuación se muestran los pasos para configurar:
- En su appserver.ini, en la sección GENERAL, debe incluir la clave App_Environment, cuyo valor debe ser el nombre del entorno donde se ejecutarán los servicios.
- Con el puerto multiprotocolo activo, debe configurar SSL para una conexión segura, si no desea usar SSL es posible deshabilitarlo, pero esto no es recomendable. Para obtener más información sobre esta configuración, visite la página Servidor de aplicaciones - Puerto multiprotocolo.
Es importante señalar que el puerto multiprotocolo crea un servidor de reposo diferente al configurado previamente , cuando se crearon las secciones HTTP y HTTPREST, de esta forma es posible utilizar ambos servidores al mismo tiempo. El servidor rest creado por el puerto multiprotocolo se ejecuta en la capa AppServer, por lo que es más rápido y posiblemente será el modelo más utilizado en el futuro, mientras que el Rest anterior se realiza en Advpl .
Puede verificar si el servidor HTTPREST fue habilitado correctamente por console.log como se muestra a continuación:
Aviso |
---|
Con la configuración del puerto multiprotocolo, los parámetros MV_GCTPURL y MV_BACKEND ya no son necesarios . |
2.2 - Configuración del REST 2.0 en el ini del App Server
La función HTTP_START prepara el servidor de aplicaciones como HTTP para REST, debe configurarse en la sección ONSTART:
Aviso |
---|
La clave MAXSTRINGSIZE es obligatoria en la sección GENERAL con un valor mínimo de 10 para que REST admite solicitudes con más de 1 Mb. |
Ejemplo de la sección de General:
Sem Formato |
---|
[GENERAL] MAXSTRINGSIZE=10 [ONSTART] JOBS=HTTPJOB REFRESHRATE=120 [HTTPJOB] MAIN=HTTP_START ENVIRONMENT=environment |
Configuración en el ini del app server:
- En la sección de General se configura MAXSTRINGSIZE = 10 para aceptar solicitudes con más de 1 Mb.
- En la sección ONSTART se configura la etiqueta JOBS en el cual se indica los nombres de las secciones para realizar unas funciones específicas y en la etiqueta REFRESHRATE el cual determina el intervalo de tiempo en segundos, para que los JOBS especificados en la tecla [ONSTART] se ejecuten de nuevo.
Sección HTTPV11
Para habilitar el HTTP para REST debe crear una sección HTTPV11 en el appserver ini .
Ejemplo de la sección HTTPV11:
Sem Formato |
---|
[HTTPV11] Enable=1 Sockets=HTTPREST |
Parámetro | Descripción | Obrigatório |
---|---|---|
Enable | Indica si el protocolo HTTP está habilitado. | x |
Sockets | Secciones con configuración de puerto y URL (al menos una sección) | x |
La clave de Sockets hace referencia a las secciones con el puerto y la configuración de URL que servirá, lo que permite que el servidor de aplicaciones se configure con más de un puerto HTTP REST.
Configuración en el ini del app server:
- Se habilita el protocolo HTTP
- Se configura el socket llamado HTTPREST
Sección de Sockets
Ejemplo de configuración de la sección de sockets
Sem Formato |
---|
[HTTPREST] Port=8080 IPsBind= URIs=HTTPURI Security=1 |
Parámetro | Descripción | Obrigatório |
---|---|---|
Port | Puerto HTTP | x |
IPsBind | Indica las IP que serán atendidas por este puerto, si no se informa cualquier IP/DNS asociada con el servidor será atendida | |
URI | Secciones con configuración de entorno y URL (al menos una sección), hace referencia a la URL que escuchara el puerto | x |
Security | Indica si la autenticación de la solicitud está habilitada (Para facilidad de pruebas o desarrollo, puede configurar la clave de seguridad con 0 para deshabilitar la autenticación) |
Configuración en el ini del app server:
- Se configura el puerto 8080, puerto que será utilizado como punto de acceso.
- Se configura la etiqueta URIs con una sección llamada HTTPURI.
- Se deshabilita la seguridad en el puerto para pruebas y desarrollo.
Sección de URI
Ejemplo de configuración de una sección de Uri:
Sem Formato |
---|
[HTTPURI] URI=/REST PrepareIn = Instances = 1.1 |
Parámetro | Descripción | Obrigatório |
---|---|---|
URL | Indica la dirección que será atendida | x |
Preparein | Información para preparar el entorno de subprocesos de trabajo | |
Instances | Configuración de inicialización de subproceso de trabajo | x |
Configuración en el ini del app server:
- Se habilita esta sección con la etiqueta Enable = 1.
- Se indica en la etiqueta URL la dirección en donde será escuchado.
- Se configura en la etiqueta INSTANCES el tiempo y la secuencia de inicialización de subprocesos.
Etiqueta Instances
Define cuántos subprocesos internos pueden estar disponibles para establecer conexiones simultáneas y atender solicitudes a través de HTTP para páginas dinámicas, estáticas, archivos, imágenes y etc.
La composición de la clave se compone de las definiciones de los valores mínimo, máximo, mínimo libre y incremento. Dónde:
- mínimo: indica el número inicial de subprocesos que estarán disponibles.
- máximo: indica el número máximo de subprocesos que estarán disponibles.
- mínimo libre: indica la cantidad mínima de hilos libres.
- incremento: indica el número de nuevos hilos que estarán disponibles cuando el número de hilos libres esté por debajo del valor definido previamente.
2.2 - Configuración de TL++ (TLPP) en el ini del App Server
La configuración para habilitar el lenguaje TLPP es el siguiente:
Sem Formato |
---|
[HTTPSERVER] Enable=1 Servers=HTTP_REST [HTTP_REST] hostname=localhost port=9995 locations=HTTP_ROOT [HTTP_ROOT] Path=/ RootPath=root/web ThreadPool=THREAD_POOL [THREAD_POOL] Environment=ENV MinThreads=1 |
Sección de HTTPSERVER
Aquí se definen las configuraciones básicas para el funcionamiento del Rest Server.
Parámetro | Descripción | Obrigatório |
---|---|---|
Enable | Define si HttpServer se activará al iniciar el AppServer | x |
Servers | Lista novacia con los nombres de los servidores que se activarán al inicio del servidor. Los nombres en esta clave deben usarse en la sección SERVERS | x |
Configuración en el ini del app server:
Sección de Servidores
Define las configuraciones de cada servidor HTTP/ HTTPS
Parámetro | Descripción | Obrigatório |
---|---|---|
Port | Define el puerto del servidor activo | x |
Hostname | Define el nombre virtual para el servidor que será activado | x |
locations | Define el nombre de las secciones (ubicaciones) de este servidor. Los nombres definidos en esta clave deben usarse en la clave LOCATIONS | x |
Sección de Locaciones
Define el puerto de los datos de cada servidor
Parámetro | Descripción | Obrigatório |
---|---|---|
Path | Ruta de la URL que identificará el sitio | x |
Rootpath | Ruta de donde están los archivos de páginas estáticas | x |
ThreadPool | Define que grupo de subprocesos ejecutará solicitudes desde esta ubicación. El nombre definido en esta clave debe usarse en la sesión THREADPOOL | x |
Sección de THREADPOOL
Define las configuraciones del grupo de proceso, el entorno y las características del subproceso
Parámetro | Descripción | Obrigatório |
---|---|---|
Enviroment | Esta clave define el entorno donde se ejecutará el REST | x |
MinThreads | Indica el número mínimo de subprocesos activo en el grupo. El valor declarado debe ser mayor a 0 | x |
Configuración en el ini del app server:
Si las configuraciones pasadas son correctas el app server consola deberá mostrar lo siguiente:
- Configuración de los puertos correctamente a la sección HTTP
- Servicios REST habilitados y configuración correcta del la sección HTTPV11
2.3 - Configuración para agregar el software TOTVS Recibos al menú financiero
- Se accede al módulo configurador.
- Se accede a la opción Menús ubicada en Entorno → Archivos → Menús.
- Selecciona el menú Financiero.
- Se agrega un nuevo ítem con la función llamada FINA998.
- Si la configuración fue correcta tiene que estar agregado el nuevo item en el menú financiero.
- Acceder a la rutina Recibos PO UI, que ahora se puede ejecutar.