2017-05-04 82 views
1

我使用jPOS創建ISO8583消息,我使用的是genericpackager,但它似乎只支持固定長度的數據字段。如果它具有可變大小,我希望在字段前面加上字段的長度。 我使用如下:使用jPOS的ISO8583可變長度字段

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

和java文件isoMsg.set(34, "12345ABCDE");

做什麼改變,我需要做前場預先設置字段的長度。

回答

3

對於每個isofield - 您需要修改該類以匹配相應字段配置的要求。

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

例如,你可以使用任何isofield類的具有長度指示符(L)如 :

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

+0

感謝它爲我工作:) – Rohit