我正在尝试使用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();
答案 0 :(得分:0)
这个问题存在缺陷,如果不研究规格,就无法提供帮助。
另外,我希望你在那里显示的卡上有一张测试卡,否则请通知发行人阻止它。
也就是说,您可能正在使用IFA_BITMAP而不是IFB_BITMAP,但这种更改只会解决您的位图生成问题,您可能还有很多其他字段配置不当。