update documentation
This commit is contained in:
@@ -41,6 +41,6 @@ ISO header (optional)|Message Type|primary bitmap|secondary bitmap (optional)|da
|
||||
by IsoMessage objects, which store IsoValue instances for their data fields. You can work with the IsoValues
|
||||
or use the convenience methods of IsoMessage to work directly with the stored values.
|
||||
|
||||
j8583 can directly handle the basic data types: numeric values, strings, and dates. If you want to encode
|
||||
a custom object in a field, you can implement a custom field encoder. More information is available in the
|
||||
{{{guide.html}user's guide}}.
|
||||
j8583 can directly handle the basic data types: numeric values, strings, amounts, dates and byte arrays.
|
||||
If you want to encode a custom object in a field, you can implement a custom field encoder. More information
|
||||
is available in the {{{guide.html}user's guide}}.
|
||||
|
||||
@@ -17,8 +17,10 @@ Introduction to ISO8583
|
||||
*--------------*----------------*-----------------+
|
||||
| <<ISO type>> | <<j8583 type>> | <<Description >> |
|
||||
*--------------*----------------*-----------------+
|
||||
| Fixed-length | |
|
||||
| Numeric | NUMERIC | Fixed-width numeric values, padded with zeroes to the left.|
|
||||
*--------------*----------------*-----------------+
|
||||
| Fixed-length | |
|
||||
| Alphanumeric | ALPHA | Fixed-width alphanumeric values, padded with spaces to the right.|
|
||||
*--------------*----------------*-----------------+
|
||||
| Date | DATE10 | Date in format mmddHHMMSS, fixed width of 10. |
|
||||
@@ -35,6 +37,15 @@ Introduction to ISO8583
|
||||
*--------------*----------------*-----------------+
|
||||
| LLLVAR | LLLVAR | Variable-width alphanumeric value, up to 999 characters long. The length of the value is encoded in the first 3 characters of the value, for example "HEY" is encoded as 003HEY |
|
||||
*--------------*----------------*-----------------+
|
||||
| Fixed-length | | Similar to ALPHA, but stores byte arrays directly instead of text.
|
||||
| binary | BINARY |
|
||||
*--------------*----------------*-----------------+
|
||||
| Binary | LLBIN | Similar to LLVAR, but stores byte arrays directly instead of text.
|
||||
| LLVAR | |
|
||||
*--------------*----------------*-----------------+
|
||||
| Binary | LLLBIN | Similar to LLLVAR, but stores byte arrays directly instead of text.
|
||||
| LLLVAR | |
|
||||
*--------------*----------------*-----------------+
|
||||
ISO 8583 types and their corresponding j8583 types
|
||||
|
||||
* Common scenarios
|
||||
|
||||
@@ -61,7 +61,7 @@ message.setValue(4, amount, IsoType.AMOUNT, 12)
|
||||
.setValue(11, trace, IsoType.NUMERIC, 6);
|
||||
+-----
|
||||
|
||||
Of course it can be more succing in Groovy or Scala:
|
||||
Of course it can be more succint in Groovy or Scala:
|
||||
|
||||
+-----
|
||||
message.setField(4, IsoType.AMOUNT(amount))
|
||||
|
||||
@@ -12,7 +12,7 @@ Simple ISO8583 message parser
|
||||
j8583 configuration file. For example:
|
||||
|
||||
+-----
|
||||
java -cp lib/slf4j-api-1.7.1.jar:lib/slf4j-simple-1.7.1.jar:lib/j8583-1.5.6.jar com.solab.iso8583.util.SimpleParser /tmp/j8583-config.xml
|
||||
java -cp lib/slf4j-api-1.7.7.jar:lib/slf4j-simple-1.7.7.jar:lib/j8583-1.10.2.jar com.solab.iso8583.util.SimpleParser /tmp/j8583-config.xml
|
||||
+-----
|
||||
|
||||
You can paste an ISO8583 message encoded as text and the program will parse it, showing
|
||||
|
||||
+33
-16
@@ -11,23 +11,29 @@ Configuration via Spring
|
||||
|
||||
The properties that you want to set up in the Spring config are:
|
||||
|
||||
*------------+---------------------------------+
|
||||
| configPath | Specify the path to the XML configuration file with the message and parsing templates.
|
||||
*------------+---------------------------------+
|
||||
| customFields | A map with the CustomField implementations that should be used for each field (the keys are the field numbers).
|
||||
*------------+---------------------------------+
|
||||
| assignDate | Set it to true to have the MessageFactory set field 7 to a DATE10 with the date the message was created.
|
||||
*------------+---------------------------------+
|
||||
| etx | Set it to the numeric value of the message terminator, or -1 if you don't want to use a terminator.
|
||||
*------------+---------------------------------+
|
||||
| forceSecondaryBitmap | If true, then the messages will include the secondary bitmap even if they don't contain any fields above 64. Some providers require this.
|
||||
*------------+---------------------------------+
|
||||
*------------------------+---------------------------------+
|
||||
| configPath | Specify the path to the XML configuration file with the message and parsing templates.
|
||||
*------------------------+---------------------------------+
|
||||
| customFields | A map with the CustomField implementations that should be used for each field (the keys are the field numbers).
|
||||
*------------------------+---------------------------------+
|
||||
| characterEncoding | Sets the character encoding to use for parsing ALPHA, LLVAR and LLLVAR fields when it's different from the default platform encoding.
|
||||
*------------------------+---------------------------------+
|
||||
| assignDate | Set it to true to have the MessageFactory set field 7 to a DATE10 with the date the message was created.
|
||||
*------------------------+---------------------------------+
|
||||
| etx | Set it to the numeric value of the message terminator, or -1 if you don't want to use a terminator.
|
||||
*------------------------+---------------------------------+
|
||||
| forceSecondaryBitmap | If true, then the messages will include the secondary bitmap even if they don't contain any fields above 64. Some providers require this.
|
||||
*------------------------+---------------------------------+
|
||||
| forceStringEncoding | By default, text messages are encoded and decoded using the byte array directly, for performance, but this can cause problems when using an encoding other than the default or if a field contains non-ASCII characters. Set this flag to force proper string encoding/decoding with the character encoding that has been configured.
|
||||
*------------------------+---------------------------------+
|
||||
| ignoreLastMissingField | If true, then the factory only logs a warning when parsing incomplete messages. By default it will throw a ParseException.
|
||||
*------------+---------------------------------+
|
||||
| useBinaryMessages | Can be true or false (default false). The factory passes this value to new messages so that they're encoded in binary or ASCII.
|
||||
*------------+---------------------------------+
|
||||
| traceNumberGenerator | Set to an implementation of TraceNumberGenerator so that the factory sets a new trace value in field 11 on new messages.
|
||||
*------------+---------------------------------+
|
||||
*------------------------+---------------------------------+
|
||||
| traceNumberGenerator | Set to an implementation of TraceNumberGenerator so that the factory sets a new trace value in field 11 on new messages.
|
||||
*------------------------+---------------------------------+
|
||||
| useBinaryBitmap | Set this flag to make newly created messages encode their bitmap in binary format, even if the rest of the message is encoded in text. This only works for text messages and has no effect on binary messages.
|
||||
*------------------------+---------------------------------+
|
||||
| useBinaryMessages | Can be true or false (default false). The factory passes this value to new messages so that they're encoded in binary or ASCII.
|
||||
*------------------------+---------------------------------+
|
||||
|
||||
Example:
|
||||
|
||||
@@ -45,3 +51,14 @@ Configuration via Spring
|
||||
<property name="configPath" value="/your-j8583.xml" />
|
||||
</bean>
|
||||
+-----
|
||||
|
||||
There are some other properties than can only be set programmatically:
|
||||
|
||||
*------------------------+---------------------------------+
|
||||
| timezoneForParseGuide | Sets the timezone for a certain field of a specific message type. This is useful if you need to encode/decode dates with a timezone other than the local one.
|
||||
*------------------------+---------------------------------+
|
||||
| customField | Specifies a CustomField encoder to use in one field.
|
||||
*------------------------+---------------------------------+
|
||||
| isoHeader | Sets the ISO header to use for a specific message type.
|
||||
*------------------------+---------------------------------+
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ Encabezado ISO (opcional)|Tipo de mensaje|bitmap primario|bitmap secundario (opc
|
||||
clase IsoValue como valores en sus campos. Se puede trabajar directamente son los IsoValues o se pueden
|
||||
usar algunos métodos de conveniencia del IsoMessage para trabajar directamente con los datos almacenados.
|
||||
|
||||
j8583 puede manejar de forma directa los tipos de datos básicos: valores numéricos, cadenas, y fechas.
|
||||
j8583 puede manejar de forma directa los tipos de datos básicos: valores numéricos, cadenas, montos, fechas
|
||||
y arreglos de bytes.
|
||||
Si deseas guardar objetos de otra clase en un campo, puedes implementar tu propio codificador/decodificador
|
||||
de datos para ese campo. En la {{{guide.html}guía del usuario}} hay más información al respecto.
|
||||
|
||||
@@ -19,8 +19,12 @@ Introducción al protocolo ISO8583
|
||||
| <<Tipo ISO>> | <<Tipo j8583>> | <<Descripción>> |
|
||||
*--------------*----------------*-----------------+
|
||||
| Numérico | NUMERIC | Valores numéricos de longitud fija, rellenos con ceros a la izquierda.
|
||||
| de longitud | |
|
||||
| fija | |
|
||||
*--------------*----------------*-----------------+
|
||||
| Alfanumérico | ALPHA | Valores alfanuméricos de longitud fija, rellenos con espacios a la derecha.
|
||||
| de longitud | |
|
||||
| fija | |
|
||||
*--------------*----------------*-----------------+
|
||||
| Fecha | DATE10 | Fecha en formato mmddHHMMSS, con longitud fija de 10.
|
||||
*--------------*----------------*-----------------+
|
||||
@@ -35,7 +39,16 @@ Introducción al protocolo ISO8583
|
||||
| LLVAR | LLVAR | Valor alfanumérico de longitud variable, hasta 99 caracteres. La longitud del valor se codifica en los dos primeros caracteres del valor; por ejemplo "HOLA" se codifica como 04HOLA
|
||||
*--------------*----------------*-----------------+
|
||||
| LLLVAR | LLLVAR | Valor alfanumérico de longitud variable, hasta 999 caracteres. La longitud del valor se codifica en los dos primeros caracteres del valor; por ejemplo "HOLA" se codifica como 004HOLA
|
||||
*--------------*----------------*-----------------+
|
||||
*---------------*----------------*-----------------+
|
||||
| Binario de | | Similar al tipo ALPHA, pero maneja bytes directamente en vez de texto.
|
||||
| longitud fija | BINARY |
|
||||
*---------------*----------------*-----------------+
|
||||
| LLVAR | LLBIN | Similar al tipo LLVAR, pero maneja bytes directamente en vez de texto.
|
||||
| binario | |
|
||||
*---------------*----------------*-----------------+
|
||||
| LLLVAR | LLLBIN | Similar al tipo LLLVAR, pero maneja bytes directamente en vez de texto.
|
||||
| binario | |
|
||||
*---------------*----------------*-----------------+
|
||||
Tipos de ISO8583 y sus contrapartes en j8583
|
||||
|
||||
* Escenarios típicos
|
||||
|
||||
@@ -12,7 +12,7 @@ Procesador simple de mensajes ISO8583
|
||||
configuración de j8583. Por ejemplo:
|
||||
|
||||
+-----
|
||||
java -cp lib/slf4j-api-1.7.1.jar:lib/slf4j-simple-1.7.1.jar:lib/j8583-1.5.6.jar com.solab.iso8583.util.SimpleParser /tmp/j8583-config.xml
|
||||
java -cp lib/slf4j-api-1.7.7.jar:lib/slf4j-simple-1.7.7.jar:lib/j8583-1.10.2.jar com.solab.iso8583.util.SimpleParser /tmp/j8583-config.xml
|
||||
+-----
|
||||
|
||||
Una vez que arranca, se puede pegar un mensaje ISO8583 codificado en texto y el programa
|
||||
|
||||
+33
-16
@@ -11,23 +11,29 @@ Configurando j8583 con Spring
|
||||
|
||||
Las propiedades que se pueden configurar en la definición del componente en Spring son:
|
||||
|
||||
*------------+---------------------------------+
|
||||
| configPath | Indica la ruta al archivo de configuración XML que contiene las plantillas de mensajes y de lectura. Debe ser una ruta dentro del classpath.
|
||||
*------------+---------------------------------+
|
||||
| customFields | Un mapa con los CustomFields que se deben usar en cada campo que los requiera (las llaves son los números de campo).
|
||||
*------------+---------------------------------+
|
||||
| assignDate | Se pone en <true> para que la MessageFactory le ponga la fecha actual a los mensajes nuevos en el campo 7, tipo DATE10.
|
||||
*------------+---------------------------------+
|
||||
| etx | Se indica el valor numérico del caracter que debe ser el terminador de mensajes, o -1 para no usar un terminador.
|
||||
*------------+---------------------------------+
|
||||
| forceSecondaryBitmap | Si se activa, los mensajes creados incluirán el bitmap secundario en la trama generada aún cuando no tengan campos del 65 al 128. Algunos proveedores requieren esto.
|
||||
*------------+---------------------------------+
|
||||
*------------------------+---------------------------------+
|
||||
| configPath | Indica la ruta al archivo de configuración XML que contiene las plantillas de mensajes y de lectura. Debe ser una ruta dentro del classpath.
|
||||
*------------------------+---------------------------------+
|
||||
| customFields | Un mapa con los CustomFields que se deben usar en cada campo que los requiera (las llaves son los números de campo).
|
||||
*------------------------+---------------------------------+
|
||||
| characterEncoding | Fija el juego de caracteres que se debe usar para parsear datos de texto (ALPHA,LLVAR,LLLVAR) cuando se necesita uno distinto al valor por defecto de la plataforma.
|
||||
*------------------------+---------------------------------+
|
||||
| assignDate | Se pone en <true> para que la MessageFactory le ponga la fecha actual a los mensajes nuevos en el campo 7, tipo DATE10.
|
||||
*------------------------+---------------------------------+
|
||||
| etx | Se indica el valor numérico del caracter que debe ser el terminador de mensajes, o -1 para no usar un terminador.
|
||||
*------------------------+---------------------------------+
|
||||
| forceSecondaryBitmap | Si se activa, los mensajes creados incluirán el bitmap secundario en la trama generada aún cuando no tengan campos del 65 al 128. Algunos proveedores requieren esto.
|
||||
*------------------------+---------------------------------+
|
||||
| forceStringEncoding | Cuando se activa esta bandera, los valores de texto se decodifican utilizando el juego de caracteres definido, en vez de convertir directamente cadenas a partir de arreglos de bytes, lo cual es el comportamiento por defecto para un mejor desempeño pero puede presentar problemas con valores que contengan caracteres no-ASCII.
|
||||
*------------------------+---------------------------------+
|
||||
| ignoreLastMissingField | Si se activa esta propiedad, entonces al leer mensajes que se terminan antes de haber procesado todos los campos indicados en el bitmap, únicamente se imprime una advertencia en la bitácora. Normalmente (con la propiedad desactiva) se arroja una ParseException cuando faltan campos en el mensaje.
|
||||
*------------+---------------------------------+
|
||||
| useBinaryMessages | Si se activa esta propiedad, se pasa a los mensajes creados para que al generar sus tramas lo hagan en formato binario. El default es que se utilice ASCII.
|
||||
*------------+---------------------------------+
|
||||
| traceNumberGenerator | Se pasa la implementación de TraceNumberGenerator para que la fábrica pueda ponerle un nuevo número de traza en el campo 11 a los mensajes creados.
|
||||
*------------+---------------------------------+
|
||||
*------------------------+---------------------------------+
|
||||
| traceNumberGenerator | Se pasa la implementación de TraceNumberGenerator para que la fábrica pueda ponerle un nuevo número de traza en el campo 11 a los mensajes creados.
|
||||
*------------------------+---------------------------------+
|
||||
| useBinaryBitmap | Activar esta bandera indica que los mensajes nuevos deben codificar su bitmap en formato binario, aunque el resto se encuentre en formato texto. Esto no tiene efecto alguno en mensajes binarios.
|
||||
*------------------------+---------------------------------+
|
||||
| useBinaryMessages | Si se activa esta propiedad, se pasa a los mensajes creados para que al generar sus tramas lo hagan en formato binario. El default es que se utilice ASCII.
|
||||
*------------------------+---------------------------------+
|
||||
|
||||
Example:
|
||||
|
||||
@@ -45,3 +51,14 @@ Configurando j8583 con Spring
|
||||
<property name="configPath" value="/your-j8583.xml" />
|
||||
</bean>
|
||||
+-----
|
||||
|
||||
Hay algunas propiedades que únicamente se pueden modificar por código:
|
||||
|
||||
*------------------------+---------------------------------+
|
||||
| timezoneForParseGuide | Fija la zona horaria para un campo de un tipo de mensaje. Esto es útil para codificar o decodificar fechas y horas con una zona horario distinta de la local.
|
||||
*------------------------+---------------------------------+
|
||||
| customField | Especifica un CustomField a usar en un solo campo.
|
||||
*------------------------+---------------------------------+
|
||||
| isoHeader | Fija el encabezado ISO para un tipo de mensaje.
|
||||
*------------------------+---------------------------------+
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
<item name="Download" href="http://sourceforge.net/projects/j8583/files/j8583/"/>
|
||||
</links>
|
||||
|
||||
<menu name="j8583 1.9.1">
|
||||
<menu name="j8583 1.10.2">
|
||||
<item name="Introduction" href="index.html"/>
|
||||
<item name="API docs" href="javadoc/index.html" />
|
||||
<item name="Beginner's Guide" href="guide.html"/>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<item name="Descargar" href="http://sourceforge.net/projects/j8583/files/j8583/"/>
|
||||
</links>
|
||||
|
||||
<menu name="j8583 1.9.1">
|
||||
<menu name="j8583 1.10.2">
|
||||
<item name="Introducción" href="index.html"/>
|
||||
<item name="Documentación API" href="../javadoc/index.html" />
|
||||
<item name="Guía de inicio" href="guide.html"/>
|
||||
|
||||
Reference in New Issue
Block a user