Menu

can't parse ISO 8583 message

Help
2015-06-12
2015-06-13
  • Jesús Domínguez

    Buen día Enrique, antes que nada agradezco que te tomaras el tiempo y conocimientos para crear y subir j8583,
    te cuento brevemente el motivo por el cual consulto, he estado probando j8583 en una aplicación que estoy desarrollando, y me he topado con un detalle al momento de pasear los mensajes iso8583
    he probado con las clases de ejemplo que aportaste y me pasa el mismo detalle, simplemente no parsea el mensaje al ejecutar la linea:
    IsoMessage msgParseado = mfact.createResponse(incoming);
    ni me arroja excepción alguna en pasar por dicha linea, en mi aplicacion y al correr tus ejemplos siempre el objeto msgParseado es igual null
    mfact fue ya seteado de la siguiente manera:
    mfact = ConfigParser.createFromClasspathConfig(/probarj8583/configj8583.xml");
    creo que el detalle esta a la hora de ir por el archivo, te comento que he probado en poner toda la ruta en donde se encuentra el xml, también solamente el nombre sin diagonal y con diagonal, etc, pero nunca arroja excepción si el error se genera en este punto.
    Por favor pido tu apoyo con algún comentario o idea que te venga a la mente de por que no puedo parsear los menajes, mi ambiente de desarrollo es en netbeans y trabajo con una distribución linux fedora
    la librería j8583 que utilizo es: j8583-1.11.0
    y adicionalmente para poder compilar los paquetes: slf4j-1.7.9 y slf4j-nop-1.7.9

    mi xml de pruebas es:

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE j8583-config PUBLIC "-//J8583//DTD CONFIG 1.0//EN" 
        "http://j8583.sourceforge.net/j8583.dtd">
    <j8583-config>
    
    <!-- These are the ISO headers to be prepended to the message types specified -->
    <header type="0800">ISO001300050</header>
    <header type="0810">ISO001300055</header>
    <header type="0200" ref="0800"/>
    <header type="0210" ref="0810"/>
    <header type="0400" ref="0800"/>
    <header type="0410" ref="0810"/>
    
    <!-- The client example uses this to create requests -->
    <template type="0800">
        <field num="7" type="DATE10">0102030405</field><!--fecha y hora del echo DDMMhhmmss-->
        <field num="11" type="NUMERIC" length="6">456789</field><!--serial unico del echo-->
       <field num="32" type="LLVAR">911</field><!--Identificador de la institucion-->
        <field num="70" type="NUMERIC" length="3">001</field><!--codigo de solicitud 001=logon, 301=echo test-->
    </template>
    <!-- The server example uses this to create the responses
            we only need a few fields because the rest are copied from the request -->
    <template type="0810" extends="0800">
        <field num="15" type="DATE4">0610</field>
        <field num="32" type="exclude" />
        <field num="39" type="ALPHA" length="2"/>
    </template>
    <!-- The server example uses this to read the requests -->
    <parse type="0800">
            <field num="7" type="DATE10" />
            <field num="11" type="NUMERIC" length="6" />
            <field num="32" type="LLVAR" />
            <field num="70" type="NUMERIC" length="3" />
    </parse>
    <!-- The client example uses this to read the responses -->
    <parse type="0810" extends="0800">
        <field num="15" type="DATE4"/>
        <field num="32" type="exclude" />
        <field num="39" type="ALPHA" length="2"/>
    </parse>
    </j8583-config>
    

    pero también he probado con tu xml de ejemplo en mi código, y obviamente con tus clases.
    por favor si requieres mas información indícame para proporcionarla.
    Desde ya te agradezco.
    Saludos.

     
  • Enrique Zamudio Lopez

    Pues lo primero que deberías hacer es configurar slf4j con log4j a nivel trace, para que puedas ver si realmente se lee esa config o no; la MessageFactory imprime varios mensajes de log indicando el progreso de parsear la config.

     

Log in to post a comment.