我怎么能打印打包的iso消息,例如在下一个代码中?
ISOMsg isoMsg = new ISOMsg(); isoMsg.setPackager(packager); isoMsg.setMTI("0200"); isoMsg.set(2, "16"); isoMsg.set(2, "5421287475388412"); isoMsg.set(3, "000000 "); isoMsg.set(4, "400.0"); isoMsg.set(7, "0716070815"); isoMsg.set(11, "844515"); logISOMsg(isoMsg); byte[] data = isoMsg.pack(); System.out.println("RESULT : " + new String(data));
小智.. 8
嗨,如果你想逐字段打印,最简单的方法是使用ISOMsg.dump()方法,在你的代码中将是:
isoMsg.dump(Sytsem.out, "");
如果需要十六进制转储表示,可以在示例中使用ISOUtil.hexDump()方法:
import org.jpos.iso.ISOException; import org.jpos.iso.ISOMsg; import org.jpos.iso.ISOUtil; public class JposExamples { /** * */ public JposExamples() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) throws ISOException{ ISOMsg isoMsg = new ISOMsg(); isoMsg.setPackager(new ISO87BPackager()); isoMsg.setMTI("0200"); isoMsg.set(2, "16"); isoMsg.set(2, "5421287475388412"); isoMsg.set(3, "000000"); isoMsg.set(4, "400.0"); isoMsg.set(7, "0716070815"); isoMsg.set(11, "844515"); byte[] data = isoMsg.pack(); System.out.println(ISOUtil.hexdump(data)); } }
这将使用ISO87BPackager并打印此:
0000 02 00 72 20 00 00 00 00 00 00 16 54 21 28 74 75 ..r .......T!(tu 0010 38 84 12 00 00 00 00 00 00 04 00 E0 07 16 07 08 8............... 0020 15 84 45 15 ..E.
如果您使用ISO87APackager而不是输出将是这样的:
0000 30 32 30 30 37 32 32 30 30 30 30 30 30 30 30 30 0200722000000000 0010 30 30 30 30 31 36 35 34 32 31 32 38 37 34 37 35 0000165421287475 0020 33 38 38 34 31 32 30 30 30 30 30 30 30 30 30 30 3884120000000000 0030 30 30 30 34 30 30 2E 30 30 37 31 36 30 37 30 38 000400.007160708 0040 31 35 38 34 34 35 31 35 15844515
希望这能回答你的问题.
嗨,如果你想逐字段打印,最简单的方法是使用ISOMsg.dump()方法,在你的代码中将是:
isoMsg.dump(Sytsem.out, "");
如果需要十六进制转储表示,可以在示例中使用ISOUtil.hexDump()方法:
import org.jpos.iso.ISOException; import org.jpos.iso.ISOMsg; import org.jpos.iso.ISOUtil; public class JposExamples { /** * */ public JposExamples() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) throws ISOException{ ISOMsg isoMsg = new ISOMsg(); isoMsg.setPackager(new ISO87BPackager()); isoMsg.setMTI("0200"); isoMsg.set(2, "16"); isoMsg.set(2, "5421287475388412"); isoMsg.set(3, "000000"); isoMsg.set(4, "400.0"); isoMsg.set(7, "0716070815"); isoMsg.set(11, "844515"); byte[] data = isoMsg.pack(); System.out.println(ISOUtil.hexdump(data)); } }
这将使用ISO87BPackager并打印此:
0000 02 00 72 20 00 00 00 00 00 00 16 54 21 28 74 75 ..r .......T!(tu 0010 38 84 12 00 00 00 00 00 00 04 00 E0 07 16 07 08 8............... 0020 15 84 45 15 ..E.
如果您使用ISO87APackager而不是输出将是这样的:
0000 30 32 30 30 37 32 32 30 30 30 30 30 30 30 30 30 0200722000000000 0010 30 30 30 30 31 36 35 34 32 31 32 38 37 34 37 35 0000165421287475 0020 33 38 38 34 31 32 30 30 30 30 30 30 30 30 30 30 3884120000000000 0030 30 30 30 34 30 30 2E 30 30 37 31 36 30 37 30 38 000400.007160708 0040 31 35 38 34 34 35 31 35 15844515
希望这能回答你的问题.