我有几个字段,根据该字段的使用情况更改其定义。
例如,F48定义为:
Variable Length, 1-byte binary + 255 bytes, variable by usage, max 256 bytes
一次处理一个用法非常简单,例如,在spec和my packager中定义了用法A:
Variable length, 1-byte binary + 255 bytes, EBCDIC, max 256 bytes
<isofield
id="48"
length="255"
name="ADITIONAL DATA - PRIVATE"
class="org.jpos.iso.IFB_LLHECHAR"/>
但是另一种用法可以定义为
variable length, 1-byte binary + 4 N, 4-bit BCD
或
variable length, 1-byte binary + 143 AN, EBCDIC
诸若此类。我不太确定如何在我的通用打包程序中处理同一字段的多个用法。
我考虑过使用isofieldpackager将其当做子字段来处理,然后根据我需要的用法,我只使用这个子字段。
例如,使用用法A时,我尝试
<isofieldpackager
id="48"
length="255"
name="F48 ADDITIONAL DATA - PRIVATE"
emitBitmap="false"
firstField="0"
class="org.jpos.iso.IFB_LLHBINARY"
packager="org.jpos.iso.packager.GenericSubFieldPackager">
<isofield
id="0"
length="255"
name="ADITIONAL DATA - PRIVATE"
class="org.jpos.iso.IFB_LLHECHAR"/>
</isofieldpackager>
然后将字段设置为isoMSG.set("48.0","This is my data"),这似乎在很大程度上是有效的,但是当它到达我的获取过程时,有一些不可读的数据被添加到该字段的前缀。
感谢您的帮助,如果您需要更多信息,请让我知道
转载请注明出处:http://www.tochigihk.com/article/20230526/2396178.html