我正在使用jPOS创建ISO8583消息,我使用的是genericpackager,但它似乎只支持固定长度的数据字段。如果字段的长度可变,我想在字段之前添加字段的长度。 我在下面使用:
<isofield
id="34"
length="32"
name="Extended Primary Account Number"
class="org.jpos.iso.IF_CHAR"/>
和.java文件isoMsg.set(34, "12345ABCDE");
我需要做些什么更改才能在字段之前添加字段的长度。
答案 0 :(得分:3)
对于每个isofield - 您需要修改类以匹配相应字段配置的要求。
http://jpos.org/doc/javadoc/org/jpos/iso/packager/GenericPackager.html
例如,您可以使用任何带有长度指示符(L)的isofield类 如:
class="org.jpos.iso.IFA_LLCHAR"/>
或者
class="org.jpos.iso.IFB_LLNUM"/>
支持可变长度字段。
第一个例子是ASCII 2字节长度,第二个例子是二进制2字节长度。
您可以在此处找到示例通用打包商列表:https://github.com/jpos/jPOS/tree/master/jpos/src/dist/cfg/packager
您可以在此处找到isofield类列表(以IF_开头):https://github.com/jpos/jPOS/tree/master/jpos/src/main/java/org/jpos/iso