...
Manual librería VTOLClient Java
...
VTOL CLIENT JAVA - Manual librería 1.1.10
Painel | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||
|
...
Painel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
1. Introducción
1.1 Introducción
...
El formato del protocolo VTOL se basa en la siguiente estructura:
Header | Mensaje | |
Longitud del mensaje (4 bytes) | Indica si el mensaje requiere respuesta o no (2 bytes) | Ejemplo: {25:20020426172836;1:5;2:1;27:00;26:ISO8583;28:Aprobado} |
La estructura posee dos partes separadas que son el Header y el Mensaje propiamente dicho.
...
Dentro del Header viaja información específica del mensaje que se encuentra a continuación del mismo, como ser su longitud y si requiere o no una respuesta. Para ello fueron destinados 6 bytes que se distribuyen de la siguiente manera: los primeros 4 bytes son destinados a la longitud (expresado en hexadecimal, con el último byte como el más significativo) y los últimos 2 indican la necesidad de recibir o no una respuesta (expresado en hexadecimal, con el último byte como el más significativo)
Un ejemplo de lo explicado anteriormente podría ser el siguiente:
HEADER | |
Longitud del mensaje | Requiere respuesta |
A101 | 01 |
En este ejemplo la longitud del mensaje será:
...
Las siguientes constantes deben ser inicializadas para hacer uso de la librería:
Nombre constante | Descripción |
HOSTIP
| Identifica el parámetro que se usa para determinar la IP de VTOL Server |
HOSTPORT
| Identifica el port TCP al cual se tiene que conectar con VTOL Server |
RESPONSETIMEOUT | [Opcional] Tiempo máximo en (milisegundos) de espera para un respuesta de VTOL server antes de salir por timeout. Superado este tiempo se lanza la excepción TimeoutClientException. |
Valor por defecto 30000. | |
TIMEOUTCONNECTIONHOST | [Opcional] Tiempo máximo de conexión a VTOL Server expresado en milisegundos. Superado este valor y no lograda la conexión, se arroja la excepción VtolClientException |
Un valor de cero significa infinito. |
Valor por defecto 20000. | |
TIMEOUTOBTAINNODE
| Tiempo máximo en milisegundos a esperará antes de arrojar una excepción al tratar de obtener un nodo. |
TIMEOUTEXPIRATIONNODE
| Identifica el parámetro utilizado para indicar el tiempo en liberar un nodo. En caso de no liberarse dentro de ese tiempo, será liberado por la aplicación. |
USEVTOLCLIENTFINDER
| Establece la utilización o no del VTOLClientFinder. True False (valor por defecto) |
CLIENTFINDER | [Opcional] R (siempre determinada realizar un Rollback de la transacción pendiente) C (siempre determinada realizar un Commit de la transacción pendiente, valor por defecto) ar.com.synthesis.vtol.client.VtolClientFinder y configurarla antes de inicializar la librería, por ejemplo: vtolClientLib.setVtolClientFinder(new MyTrxFinder()); vtolClientLib.init(); |
USEENCRYPTEDDATA | Establece la utilización de encriptación en los mensajes.
|
ENCRYPTER | [Opcional]
|
ENCRYPTKEY | [Opcional] |
USEPENDINGAUTOMATIC |
[Opcional] True False (valor por defecto) | |
TOTALNODESNUMBER |
[Opcional] | |
DEFAULTTRANSACTIONSTATUS |
[Opcional] C (valor por defecto) R | |
INITIALNODENUMBER |
[Opcional] | |
VTOLCLIENTLIBCONFIGPATH |
[Opcional] | |
PRECONFIGUREDFIELDSFILENAME |
[Opcional] | |
PRECONFIGUREDFIELD |
[Opcional]
| ||||||||||||||||
SSLENABLED | Indica cuando la comunicación con VTOL está sobre SSL:
| |||||||||||||||
SSLKEYSTORE | Ruta del archivo que contiene los certificados que se usaran para la validación. OBLIGATORIO cuando el parámetro SSLENABLED es True. | |||||||||||||||
SSLKEYSTOREPASSWORD | Contraseña del archivo que contiene los certificados que se usaran para la validación. OBLIGATORIO cuando el parámetro SSLENABLED es True. Valor por defecto: nosotros. | |||||||||||||||
SSLPROTOCOL | Versión de protocolo SSL/TLS. OBLIGATORIO cuando el parámetro SSLENABLED es True. Valores posibles:
|
2.2.3 Métodos de VTOLClient
Method Summary | |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.2.4 Métodos de VTOLNode
Method Summary | |
|
|
|
|
| |
| |
| |
|
|
| |
|
|
|
|
|
|
| |
| |
| |
| |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.2.5 Interface VTOLClientFinder
...
Esta clase identifica cualquier excepción ocurrida en la librería e indica la misma a través de su mensaje.
Constructor Summary |
VtolClientException(java.lang.String _messageString) |
VtolClientException(java.lang.String _codeString, java.lang.String _messageString) |
Method Summary | |
java.lang.String | getCode() |
2.2.7 Encriptación
La librería brinda la posibilidad de encriptar los mensajes con el algoritmo DES y Triple DES utilizando la clase DES.
...
El nombre del parámetro necesariamente es PRECONFIGUREDFIELD
El valor del parámetro está compuesto por 4 valores separados por comas, a continuación se detallan los mismos:
Posición | Definición | Valores disponibles |
1 | Número de campo | Representa el número de campo que debe estar dado de alta en la mensajería de VTOL con el POS. |
2 | Valor del campo | Es el valor que se enviará en la mensajería de VTOL con el POS |
3 | Tienda para el que aplica | Se puede indicar alguno de los siguientes valores: |
4 | Nodo para el que aplica | Se puede indicar alguno de los siguientes valores: |
Con esto podemos tener 4 combinaciones
...
El archivo está compuesto por un tag principal llamado fields-configuration este tag contendrá cada uno de los campos previamente configurados que serán identificados con el tag preconfiguredField. La estructura de cada campo se muestra a continuación:
Nombre del Tag | Definición | Valores disponibles |
fieldNumber | Representa el número del campo que se mandará a VTOL | Se debe incluir un número entero de acuerdo a las especificaciones del manual así como los campos disponibles para su recepción en VTOL. |
fieldValue | Representa el valor del campo que se manda a VTOL | Cualquier valor que coincida con el tipo de dato y tamaño definidos en VTOL. |
Originador | Es un tag que representa al originador junto con los nodos que enviarán este campo. | Este tag representa como tal a un originador, que incluye tanto si ID como uno o más nodos. Los tags válidos son: originatorId, node. |
originatorId | Es el id del originador que enviará este campo. | Se puede indicar alguno de los siguientes valores: |
Node | Representa a un nodo como tal. | Pueden existir uno o más de estos elementos dentro del Nodo. Los tags váidos son: nodeId |
nodeId | Nodo para | Se puede indicar alguno de los siguientes valores: |
Nota |
---|
Nota: Si se requiere el comportamiento de que todos los originadores envíen el campo definido, entonces se deberá poner únicamente un tag Originator, con su respectivo originatorId con ( *** ). Los tags originador que se encuentren posteriormente a éste, serán ignorados. |
...
Para habilitar el logeo es necesario incluir en las opciones de la máquina virtual de JAVA la siguiente opción:
-Djava.util.logging.config.file=[PATH_ABSOLUTO_ARCHIVO_CONFIGURACION]
...
Dónde:
[PATH_ABSOLUTO_ARCHIVO_CONFIGURACION] corresponde al path y nombre de archivo completos de donde se encuentra el archivo de configuración del logeo.
...