我在文本文件中没有很少的ISO8583日志。我想从这个文本文件中解析这些日志,并将它们写入任何数据库,并附带一些描述性信息,如消息类,消息函数,消息来源,处理代码,响应代码等。
我是BASE24 / ISO8583的新手,并且正在尝试为此找到任何现成的解析器。有没有这样的解析器? jPOS是否提供此类功能?
修改
我在" .log"中有ISO8583格式的日志。文件如下:
MTI:0200
Field-3:201234
Field-4:000000010000
Field-7:0110722180
Field-11:123456
Field-44:A5DFGR
Field-105:ABCDEFGHIJ 1234567890
这与您共享的链接中给出的格式相同。 它也包含十六进制转储,但我不想解析它。
链接中给出的代码正在对消息进行打包和解包,而我正在尝试的是读取这些日志(以解压缩的形式)并将它们写入数据库表。
我想我需要为此编写自己的代码并在其中使用jPOS包装器。
答案 0 :(得分:2)
这实际上取决于日志文件的格式 - 是ISO8583消息 - HexStrings,还是HexDump是ISO8583的XML表示,还有其他一些应用程序跟踪文件?
一旦你知道格式并且它可能需要一些按摩 - 你将需要使用适当的jPOS包装器研究ISOMsg.unpack()方法。打包器定义了字段结构 - 各种ISO8583字段和字段构造(长度,字符集等)
在以下博客文章中找到了一个很好的例子:查看“Parse(unpack)ISO Message”seciton http://jimmod.com/blog/2011/07/26/jimmys-blog-iso-8583-tutorial-build-and-parse-iso-message-using-jpos-library/
你提到 - Base24 - jPOS确实有一些可能是紧密起点的打包器: https://github.com/jpos/jPOS/blob/master/jpos/src/dist/cfg/packager/base24.xml
答案 1 :(得分:1)
这些人类可读的日志格式通常很难在不丢失信息的情况下进行解析。此外,日志可能符合PCI标准,因此那里有很多屏蔽信息。你想要求消息的十六进制转储。
答案 2 :(得分:1)
日志文件中显示的内容被解析为ISO.Hence您不需要使用jpos.jpos仅用于在传输消息时进行打包和解包。 将字段分配给变量并写入DB 例如,字段39是响应代码。
答案 3 :(得分:0)
使用jpos是个好主意。您应该选择自定义打包器设计类。