如何解析文本文件中的ISO8583消息&将其写入数据库

时间:2016-08-24 13:18:24

标签: iso8583 jpos

我在文本文件中没有很少的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包装器。

4 个答案:

答案 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是个好主意。您应该选择自定义打包器设计类。