2015-07-20 72 views
0

[更新]JPOS Q2:无法看到原始ISO 8583点的数据

我能够调出JPOS客户端和服务器模拟器上使用这个链接相同的方块:http://jpos.org/blog/2013/07/setting-up-the-client-simulator/(请注意,设置是相当类似一个在运行服务器模拟器的链接中也有描述)。

接下来我做的是基本上尝试看tcpdump(也使用wireshark)。但是我看到的并不是我所期望的。这里是我所看到的(请注意数据部分)

Data (325 bytes) 

0000 3c 69 73 6f 6d 73 67 3e 0a 20 20 3c 21 2d 2d 20 <isomsg>. <!-- 
0010 6f 72 67 2e 6a 70 6f 73 2e 69 73 6f 2e 70 61 63 org.jpos.iso.pac 
0020 6b 61 67 65 72 2e 58 4d 4c 50 61 63 6b 61 67 65 kager.XMLPackage 
0030 72 20 2d 2d 3e 0a 20 20 3c 66 69 65 6c 64 20 69 r -->. <field i 
0040 64 3d 22 30 22 20 76 61 6c 75 65 3d 22 31 38 30 d="0" value="180 
0050 30 22 2f 3e 0a 20 20 3c 66 69 65 6c 64 20 69 64 0"/>. <field id 
0060 3d 22 37 22 20 76 61 6c 75 65 3d 22 30 37 32 30 ="7" value="0720 
0070 30 30 33 36 33 39 22 2f 3e 0a 20 20 3c 66 69 65 003639"/>. <fie 
0080 6c 64 20 69 64 3d 22 31 31 22 20 76 61 6c 75 65 ld id="11" value 
0090 3d 22 37 39 39 38 31 33 22 2f 3e 0a 20 20 3c 66 ="799813"/>. <f 
00a0 69 65 6c 64 20 69 64 3d 22 31 32 22 20 76 61 6c ield id="12" val 
00b0 75 65 3d 22 37 39 39 38 30 35 22 2f 3e 0a 20 20 ue="799805"/>. 
00c0 3c 66 69 65 6c 64 20 69 64 3d 22 36 33 22 20 76 <field id="63" v 
00d0 61 6c 75 65 3d 22 4d 6f 6e 20 4a 75 6c 20 32 30 alue="Mon Jul 20 
00e0 20 30 30 3a 33 36 3a 33 39 20 50 44 54 20 32 30 00:36:39 PDT 20 
00f0 31 35 22 2f 3e 0a 20 20 3c 69 73 6f 6d 73 67 20 15"/>. <isomsg 
0100 69 64 3d 22 31 32 30 22 3e 0a 20 20 20 20 3c 66 id="120">. <f 
0110 69 65 6c 64 20 69 64 3d 22 30 22 20 76 61 6c 75 ield id="0" valu 
0120 65 3d 22 32 39 31 31 30 30 30 31 22 2f 3e 0a 20 e="29110001"/>. 
0130 20 3c 2f 69 73 6f 6d 73 67 3e 0a 3c 2f 69 73 6f </isomsg>.</iso 
0140 6d 73 67 3e 0a         msg>. 
    Data: 3c69736f6d73673e0a20203c212d2d206f72672e6a706f73... 
    [Length: 325] 

如果您查看数据,它看起来像XML ISO Msg。我期待有像ISO 8583的HEX表示,其中第一个字节是MTI等等。

在看了客户端模拟器文件之后,我意识到它是一个XML Channel和packager。我看了下面的频道&打包者链接在这里jpos.org/doc/javadoc/org/jpos/iso/packager/package-summary.html jpos.org/doc/javadoc/org/jpos/iso/channel/package-summary .html

将包装程序更改为PostChannel和PostPackager后,我仍然在客户端看到问题,并且发现它已超时。想知道是否有办法通过tcpdump/wireshark查看实际的原始数据。最接近的是Postilion,它的数据长度预置在原始数据上。

+0

看着客户端模拟器文件后,我意识到它是一个XML频道和打包器。我在这里查看了以下频道和打包程序链接http://jpos.org/doc/javadoc/org/jpos/iso/packager/package-summary.html http:// jpos。org/doc/javadoc/org/jpos/iso/channel/package-summary.html。我是否需要将其中一个渠道和包装商更改为我正在寻找的渠道(例如PostChannel和PostPackager)? – Harry

+0

我试着改成PostChannel和Packager(Postilion,它有2个字节作为数据的前缀),它失败了。想知道还有什么需要改变。 – Harry

回答

1

玩PostChannel和PostPackager后,我能够得到它运行,并可以看到消息。我需要做的事情基本上是改变服务器模拟器和客户端模拟器配置,以使用所需的Channel和Packager。

这是我在服务器和客户端模拟器改变

  1. 模拟服务器:更改文件src /距离/部署/ 05_serversimulator.xml使用所需的通道,并打包
<channel class="org.jpos.iso.channel.PostChannel" logger="Q2" 
     packager="org.jpos.iso.packager.PostPackager"> 
  • 客户模拟器:更改文件./src/dist/deploy/10_clientsimulator_channel.xml使用所需的信道和包装机
  • <channel class="org.jpos.iso.channel.PostChannel" logger="Q2" 
         packager="org.jpos.iso.packager.PostPackager"> 
    

    再火起来的客户端和服务器模拟器。

    +0

    的确如此:)如果你将请求打包为XML,它们将会像XML一样显示为raw,如果你将它们打包为iso8583,它将显示为iso8583 :) – bbozo

    0

    通道可帮助您连接到其他实体,并根据所用通道的实现添加标题,长度标题,tpdu等。 您在此处使用的PostChannel添加了一个包含消息大小的2个字节的长度标题。这有助于接收器从tcp流中收集适量的字节。

    打包商可以帮助您打包邮件中的字段,示例是固定字段,长度前置变量字段以及这些字段应具有的编码(十六进制,bcd,ascii)。

    客户端服务器模拟使用XML来理解概念。