Код следующий (обновлено):
Код: Выделить всё
// Load the ISO 8583 packager from the resources folder
InputStream is = ISO8583MessageHandler.class.getClassLoader().getResourceAsStream("iso93ascii.xml");
if (is == null) {
throw new IllegalArgumentException("iso8583.xml is not found in resources!");
}
// Load the ISO 8583 packager
GenericPackager packager = new GenericPackager(ISO8583MessageHandler.class.getClassLoader().getResourceAsStream("iso93ascii.xml"));
packager.setLogger(LOGGER, "client");
// PostChannel for 2 bytes header
PostChannel channel = new PostChannel(serverIP, serverPort, packager);
channel.setLogger(LOGGER, "client");
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.setMTI("1804");
isoMsg.set(11, TransactionUtils.generateSTAN()); // Unique STAN
isoMsg.set(12, new SimpleDateFormat("yyMMddHHmmss").format(new Date())); // yyMMddHHmmss
isoMsg.set(24, "831"); // Function code
// Serialize the message once
isoMsg.recalcBitMap();
byte[] packedMessage = isoMsg.pack();
// Prepare the header
/*byte[] header = new byte[2];
int length = (packedMessage.length);
System.out.println("Length " + length);
header[0] = (byte) (length >> 8); // High byte
header[1] = (byte) (length); // Low byte
isoMsg.setHeader(header);
byte[] finalPackedMessage = isoMsg.pack();*/
// Now dump the full message
System.out.println("Message Hex Dump:: ");
System.out.println(ISOUtil.hexString(packedMessage));
System.out.println("Message ASCII Dump:: ");
System.out.println(TransactionUtils.hexToAscii(ISOUtil.hexString(packedMessage)));
// System.out.println("Full Message Hex Dump:: ");
// System.out.println(TransactionUtils.toFormattedHexDump(fullMessage));
channel.connect();
channel.send(isoMsg);
System.out.println("ISO Network Management Call Sent...");
ISOMsg response = channel.receive();
System.out.println("Received Network Management Response from the Server!");
printISOMessage(response);

Требование к заголовку:

Файл iso93ascii.xml:
Код: Выделить всё
Код: Выделить всё
3138303430303330303130303030303030303030313134383339323430313032313434333430383331
Message Hex Dump::
3138303430303330303130303030303030303030313134383339323430313032313434333430383331
Message ASCII Dump::
18040030010000000000114839240102144340831
Try 0 172.xx.xx.xx:63xx
Connection established to 172.xx.xx.xx:63xx
3138303430303330303130303030303030303030313134383339323430313032313434333430383331
Подробнее здесь: https://stackoverflow.com/questions/777 ... or-iso8583
Мобильная версия