ISO 8583 Messge - 未使用jpos在交换机端解析位图

时间:2015-01-03 05:08:08

标签: java iso8583 jpos

我正在尝试使用jpos在java中构建一个模拟器。 但是,我能够将值发送到我的交换机,但根据交换机供应商,他们没有在tcpip级别接收到正确的值,因为转换失败。

请在套接字流之前发送数据时找到我在结束时生成的以下日志。

请求已发送至服务器

清除字符串:

0200723A4401A8E19008166070658525235400011000000000150000020110150412345
61300000201020160119010680019206900000376070658525235400=24075203640000000000
428313349275RGB12345RGB12345       NPCI R-TECH GOREGAON(E)MUMBAI       MHIN
022051005ATM010580050099935698BC03BEBAD073D9021121412220033000400085

消息长度:291

发送十六进制转储:

0000  30 32 30 30 37 32 33 41  34 34 30 31 41 38 45 31      0200723A4401A8E1
0010  39 30 30 38 31 36 36 30  37 30 36 35 38 35 32 35      9008166070658525
0020  32 33 35 34 30 30 30 31  31 30 30 30 30 30 30 30      2354000110000000
0030  30 30 31 35 30 30 30 30  30 32 30 31 31 30 31 35      0015000002011015
0040  30 34 31 32 33 34 35 36  31 33 30 30 30 30 30 32      0412345613000002
0050  30 31 30 32 30 31 36 30  31 31 39 30 31 30 36 38      0102016011901068
0060  30 30 31 39 32 30 36 39  30 30 30 30 30 33 37 36      0019206900000376
0070  30 37 30 36 35 38 35 32  35 32 33 35 34 30 30 3D      070658525235400=
0080  32 34 30 37 35 32 30 33  36 34 30 30 30 30 30 30      2407520364000000
0090  30 30 30 30 34 32 38 33  31 33 33 34 39 32 37 35      0000428313349275
00a0  52 47 42 31 32 33 34 35  52 47 42 31 32 33 34 35      RGB12345RGB12345
00b0  20 20 20 20 20 20 20 4E  50 43 49 20 52 2D 54 45             NPCI R-TE
00c0  43 48 20 47 4F 52 45 47  41 4F 4E 28 45 29 4D 55      CH GOREGAON(E)MU
00d0  4D 42 41 49 20 20 20 20  20 20 20 4D 48 49 4E 30      MBAI       MHIN0
00e0  32 32 30 35 31 30 30 35  41 54 4D 30 31 30 35 38      22051005ATM01058
00f0  30 30 35 30 30 39 39 39  33 35 36 39 38 42 43 30      0050099935698BC0
0100  33 42 45 42 41 44 30 37  33 44 39 30 32 31 31 32      3BEBAD073D902112
0110  31 34 31 32 32 32 30 30  33 33 30 30 30 34 30 30      1412220033000400
0120  30 38 35                                              085

根据我的交换机供应商,他们应该按正确的顺序接收位图的值,而不是HEX值。

请查看我的交换机供应商提供的以下示例行。

0000  30 32 30 30 72 3A 44 01 A8 E1   0200r:D¨á      <--

任何人都可以在这方面提供帮助。

请找到我的以下代码:

GenericPackager packager = new GenericPackager("basic.xml");

// Create ISO Message
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.setMTI("0200");
isoMsg.set(2, "6070658525235400");
isoMsg.set(3, "11000");
isoMsg.set(4, "000000150000");
isoMsg.set(7, "0201101504");
isoMsg.set(11, "123456");
isoMsg.set(12, "130000");
isoMsg.set(13, "0201" );
isoMsg.set(15, "0201");
isoMsg.set(18, "6011");                
isoMsg.set(22, "901");
// isoMsg.set(25, "00");
isoMsg.set(32, "800192");
isoMsg.set(33, "900000");
isoMsg.set(35, "6070658525235400=24075203640000000000");
isoMsg.set(37, "428313349275");
isoMsg.set(41 , "RGB12345");
isoMsg.set(42 , "RGB12345       ");
isoMsg.set(43 , "NPCI R-TECH GOREGAON(E)MUMBAI       MHIN");
isoMsg.set(48 , "051005ATM0105800500999");
isoMsg.set(49 , "356");
isoMsg.set(52 , "98BC03BEBAD073D9");
isoMsg.set(61 , "121412220033000400085");

// print the DE list
logISOMsg(isoMsg);
byte[]  send_PackedRequestData = isoMsg.pack();
:
:
outStream = new BufferedOutputStream(connection.getOutputStream());
outStream.write(send_PackedRequestData);
outStream.flush();

1 个答案:

答案 0 :(得分:0)

这个问题存在缺陷,如果不研究规格,就无法提供帮助。

另外,我希望你在那里显示的卡上有一张测试卡,否则请通知发行人阻止它。

也就是说,您可能正在使用IFA_BITMAP而不是IFB_BITMAP,但这种更改只会解决您的位图生成问题,您可能还有很多其他字段配置不当。