2015-07-20 29 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來理解概念。