使用 jPOS 的 ISO8583 可变长度字段

Field with variable length for ISO8583 using jPOS

我正在使用 jPOS 创建 ISO8583 消息,我正在使用 genericpackager,但它似乎只支持固定长度的数据字段。如果它具有可变大小,我想在字段之前添加字段的长度。 我在下面使用:

<isofield
  id="34"
  length="32"
  name="Extended Primary Account Number"
  class="org.jpos.iso.IF_CHAR"/>

并在 .java 文件中isoMsg.set(34, "12345ABCDE");

我需要做哪些更改才能在字段前添加字段长度。

对于每个等值域 - 您需要修改 class 以匹配相应字段配置的要求。

http://jpos.org/doc/javadoc/org/jpos/iso/packager/GenericPackager.html

例如,您可以使用任何带有长度指示器 (L) 的等值域 classes 如:

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

您可以在此处找到等值域列表 classes(以 IF_ 开头):https://github.com/jpos/jPOS/tree/master/jpos/src/main/java/org/jpos/iso