<isopackager>
........other iso fields....
........
<isofieldpackager
id="57"
length="999"
name="Terminal Line Encrypted Data"
class="org.jpos.iso.IFA_LLLCHAR"
packager="org.jpos.iso.packager.ISO87BPackager">
<isofield
id="0"
length="4"
name="TLE Header Indicator"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="1"
length="2"
name="HSS-E2EE Version"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="2"
length="3"
name="EFT Secure Acquirer ID"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="3"
length="8"
name="Line Encryption Terminal ID"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="4"
length="4"
name="Encryption Method"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="5"
length="10"
name="Line Encryption Key ID"
class="org.jpos.iso.IFB_LLBINARY"/>
<isofield
id="6"
length="2"
name="Protected-Text Length"
class="org.jpos.iso.IFB_LLBINARY"/>
<isofield
id="7"
length="8"
name="Reserved"
class="org.jpos.iso.IFB_LLBINARY"/>
<isofield
id="8"
length="999"
name="999"
class="org.jpos.iso.IFA_LLLBINARY"/>
</isofieldpackager>
</isopackager>
我使用jpos库来设置DE57的复合字段/子字段,如下所示:
GenericPackager packager = new GenericPackager("iso87binary.xml");
ISOMsg iso57 = new ISOMsg(57);
iso57.setPackager(packager);
ISOField iso57_0 = new ISOField(0, "HTLE");
ISOField iso57_1 = new ISOField(1, "04");
ISOField iso57_2 = new ISOField(2, "000");
ISOField iso57_3 = new ISOField(3, "M0220001");
ISOField iso57_4 = new ISOField(4, "2190");
ISOField iso57_5 = new ISOField(5, "0000010172D54C600102");
ISOField iso57_6 = new ISOField(6, "64");
ISOField iso57_7 = new ISOField(7, "00000000");
ISOField iso57_8 = new ISOField(8, "95CA5E94F182A9949A7C7BA202143C4E212087E626E5F5C1C63AD173F733D339");
iso57.set(iso57_0);
iso57.set(iso57_1);
iso57.set(iso57_2);
iso57.set(iso57_3);
iso57.set(iso57_4);
iso57.set(iso57_5);
iso57.set(iso57_6);
iso57.set(iso57_7);
iso57.set(iso57_8);
isoMsg.set(iso57);
当我将DE57打印为:
isoMsg.getString(57)
我得到空。但是,当我将其打印为子字段时,我可以看到值(循环运行整个 iso 消息 @ i = 57):
System.out.printf("Field (%s) = %s%n", i+".0", isoMsg.getString(i+".0"));
System.out.printf("Field (%s) = %s%n", i+".1", isoMsg.getString(i+".1"));
System.out.printf("Field (%s) = %s%n", i+".2", isoMsg.getString(i+".2"));
System.out.printf("Field (%s) = %s%n", i+".3", isoMsg.getString(i+".3"));
System.out.printf("Field (%s) = %s%n", i+".4", isoMsg.getString(i+".4"));
System.out.printf("Field (%s) = %s%n", i+".5", isoMsg.getString(i+".5"));
System.out.printf("Field (%s) = %s%n", i+".6", isoMsg.getString(i+".6"));
System.out.printf("Field (%s) = %s%n", i+".7", isoMsg.getString(i+".7"));
System.out.printf("Field (%s) = %s%n", i+".8", isoMsg.getString(i+".8"));
为什么我在前面的情况下没有得到值。
你不需要创建iso57内部信息,你只需要:
ISOMsg m = new ISOMsg();
m.set("57.0", "HTLE");
m.set("57.1", "04");
m.set("57.2", "000");
...
...
然后您可以拨打:
m.getString("57.0") to get the result "HTLE"
m.getString("57.1") to get "04"
等等。
jPOS是一个开源(文挡需要收费)的财务交易Java库和框架,能够通过定制和扩展,实现任何特殊的财务交换操作,适合要求高可用性的关键性业务处理过程。
默认情况下,如果我在windows cmd中运行gradle installApp命令,它会生成一个名为jpos-1.9.8的jar文件。罐子但我的项目要求我用projectName生成jar。jar,例如myproject。jar而不是jpos-1.9.8。罐子 我试图理解build.gradle文件,但我无法找出project.name和project.version属性正在读取的位置。我试图
问题内容: 在我目前的公司中,我们正在考虑使用jPOS与其他系统进行ISO 8583集成。我阅读免费文档已有一段时间了,但是仍然有很多空白。例如: jPOS应该如何在产品中工作?我是否应该启动Q2服务器,它会像端点接收或发送ISO8583消息那样工作?我应该如何将其与我的应用服务器集成? 在哪些情况下以及如何使用jPOS空间? 我的基本用例是发送/接收ISO消息。我需要所有这些东西吗? 是否还有其
SampleResult字段:ContentType:DataEncoding:null
我不是RDD方面的专家,正在寻找一些答案,我试图在pyspark RDD上执行一些操作,但无法实现,特别是子串。我知道我可以通过将RDD转换为DF来做到这一点,但想知道在DF时代之前是如何做到这一点的?公司仍然更喜欢在RDD或数据帧中工作吗? 我的代码: 数据样本: 完整的错误消息: org.apache.spark.SparkException:由于阶段失败而中止作业:阶段50.0中的任务0失败
基本上,我的要求是通过使用反射来获取超类对象,以便获得字段名及其值。 所以,我有一门课 现在我正在使用 当我尝试使用以下代码访问该字段时,它会给我java.lang.Class类的类型。 它让我异常 有人能帮助我如何将其转换为对象,以便我可以访问文件夹
我的背景是C,在那里我们可以使用子类对象访问父类的公共字段。示例: 如何在Java继承中实现同样的功能? 我还有另一个关于覆盖的问题,但由于Stackoverflow规则,我将作为单独的问题提问。 那么,使用子类对象引用打印/访问Java的父类方法的语法应该是什么?我尝试了。等,但不工作。
问题内容: 我已经从论坛中提取了一些信息。这是我现在拥有的原始字符串: 我不喜欢的是子字符串和。我确实想保留字符串的其他部分,除此之外。所以结果应该是这样的 我该怎么办?实际上,我使用漂亮的汤从论坛中提取了上面的字符串。现在,我可能更喜欢使用正则表达式删除该部分。 问题答案: 该函数采用常规表达式,并将字符串中的所有匹配项替换为第二个参数。在这种情况下,我们正在搜索所有标签(),然后将其替换为()