Previous topicNext topic
 XXXX Help
Help > Modules > 8583 module >

All the standareds of 8583  is configured in packet8583.xml

Configure packet8583.xml parameter

<?xml version="1.0" encoding="UTF-8"?>

<root>

    <!-- 任何属性在不影响解析的情况下都可以不写 -->

     <!-- 划分为BINARY,CHAR,NUMERIC,LLVAR,LLLVAR,LLVAR_NUMERIC,LLLVAR_NUMERIC,LLBINARY,LLLBINARY这几种格式

         BINARY采用二进制编码(8位二进制数编码为一个字节)

          LLBINARY域前加一个字节的字节长度(采用bcd编码)

         LLLBINARY域前加两个字节的长度(注:字节长度,0x00 0x20就取后面20个字节长度数据)(采用bcd编码)

         CHAR,LLVAR,LLLVARASC(即正常的getBytes(Encoding))编码

         LLVAR域前加一个字节的字节长度(采用bcd编码),LLLVAR域前加两个字节的字节长度(采用bcd编码),

         NUMERIC,LLVAR_NUMERIC,LLLVAR_NUMERIC采用BCD(半个字节表示一个10进制数, 每两位编码为一个字节)编码,

         LLVAR_NUMERIC域前加一个字节的字节长度(采用bcd编码), LLLVAR_NUMERIC域前加两个字节的长度(注:非字节长度,而是数字的长度,即字节长度的两倍)(采用bcd编码)

         CHARBINARYNUMERIC都需要指定长度,默认CHAR类型左对齐、右补空格,NUMERIC右对齐、左补零,有特殊,就需要 增加align屬性,

         lengthType指明变长字段长度表示的方法,bcd表示十进制压缩码,hex表示十六进制数据,正常不需要设置,只有非常特殊的情况

         代码中会在IsoField setValue时进行格式化,组装报文时计算LLVAR等域长 -->

<!-- compress=true默认压缩, typeNUMERIC的域都为BCD类型,变长域长度也要压缩成BCD -->

<ISO8583Config compress="true">

     <field id="tpdu" type="NUMERIC" length="5" />      <!-- tpdu,一般都会有值 -->

     <field id="header" type="NUMERIC" length="6" />    <!-- msgid之前的报文头部分,一般都会有值,在这边设置好可以,bcd压缩格式,长度不限制 -->

     <field id="msgid" type="NUMERIC" length="2" />    <!-- msgid-->

     <field id="bitmap" type="NUMERIC" length="8" />    <!-- 1  bitmap必须使用这个 -->

     <field id="2" type="LLVAR_NUMERIC" />

     <field id="3" type="NUMERIC" length="3" />

     <field id="4" type="NUMERIC" length="6" />

     <field id="8" type="CHAR" length="11" />

     <field id="11" type="NUMERIC" length="3" />

     <field id="12" type="NUMERIC" length="3" />

     <field id="13" type="NUMERIC" length="2" />

     <field id="14" type="NUMERIC" length="2" />

     <field id="15" type="NUMERIC" length="2" />

     <field id="22" type="NUMERIC" length="2" align="left" />

     <field id="23" type="NUMERIC" length="2" align="right" />

     <field id="24" type="NUMERIC" length="2" />

     <field id="25" type="NUMERIC" length="1" />

     <field id="26" type="NUMERIC" length="1" />

     <field id="32" type="LLVAR_NUMERIC" />

     <field id="35" type="LLVAR_NUMERIC" />

     <field id="36" type="LLLVAR_NUMERIC" />

     <field id="37" type="CHAR" length="12" />

     <field id="38" type="CHAR" length="6" />

     <field id="39" type="CHAR" length="2" />

     <field id="41" type="CHAR" length="8" />

     <field id="42" type="CHAR" length="15" />

     <field id="44" type="LLVAR" />

     <field id="48" type="LLLVAR_NUMERIC" />

     <field id="49" type="CHAR" length="3" />

     <field id="52" type="BINARY" length="8" />

     <field id="53" type="NUMERIC" length="8" />

     <field id="54" type="LLLVAR" />

     <field id="55" type="LLLBINARY" />

     <field id="58" type="LLLVAR" />

     <field id="60" type="LLLVAR_NUMERIC" />

     <field id="61" type="LLLVAR_NUMERIC" />

     <field id="62" type="LLLTRACK" />

     <field id="63" type="LLLVAR" />

     <field id="64" type="BINARY" length="8" />

    

</ISO8583Config>

<!--第二个8583配置,多个可以在下面添加 -->

<ISO8583Config-config compress="true">

    

     <field id="tpdu" type="NUMERIC" length="5" />      <!-- tpdu,一般都会有值 -->

     <field id="header" type="NUMERIC" length="6" />    <!-- msgid之前的报文头部分,一般都会有值,在这边设置好可以,bcd压缩格式,长度不限制 -->

     <field id="msgid" type="NUMERIC" length="2" />    <!-- msgid-->

     <field id="bitmap" type="NUMERIC" length="8" />    <!-- 1  bitmap必须使用这个 -->

     <field id="2" type="LLVAR_NUMERIC" />

     <field id="3" type="NUMERIC" length="3" />

     <field id="4" type="NUMERIC" length="6" />

     <field id="8" type="CHAR" length="11" />

     <field id="11" type="NUMERIC" length="3" />

     <field id="12" type="NUMERIC" length="3" />

     <field id="13" type="NUMERIC" length="2" />

     <field id="14" type="NUMERIC" length="2" />

     <field id="15" type="NUMERIC" length="2" />

     <field id="22" type="NUMERIC" length="2" align="left" />

     <field id="23" type="NUMERIC" length="2" align="right" />

     <field id="24" type="NUMERIC" length="2" />

     <field id="25" type="NUMERIC" length="1" />

     <field id="26" type="NUMERIC" length="1" />

     <field id="32" type="LLVAR_NUMERIC" />

     <field id="35" type="LLVAR_NUMERIC" />

     <field id="36" type="LLLVAR_NUMERIC" />

     <field id="37" type="CHAR" length="12" />

     <field id="38" type="CHAR" length="6" />

     <field id="39" type="CHAR" length="2" />

     <field id="41" type="CHAR" length="8" />

     <field id="42" type="CHAR" length="15" />

     <field id="44" type="LLVAR" />

     <field id="48" type="LLLVAR_NUMERIC" />

     <field id="49" type="CHAR" length="3" />

     <field id="52" type="BINARY" length="8" />

     <field id="53" type="NUMERIC" length="8" />

     <field id="54" type="LLLVAR" />

     <field id="55" type="LLLBINARY" />

     <field id="58" type="LLLVAR" />

     <field id="60" type="LLLVAR_NUMERIC" />

     <field id="61" type="LLLVAR_NUMERIC" />

     <field id="62" type="LLLTRACK" />

     <field id="63" type="LLLVAR" />

     <field id="64" type="BINARY" length="8" />

    

</ISO8583Config-config>

</root>

Normally 8583 only need a configuration file ISO8583Config. If there are multiple 8583 configurations needed to be called, ISO8583Config-config should be loaded by using new Iso8583Manager(this).Load8583XMLconfigByTag ("ISO8583Config-config")