Можете закрывать, я разобрался. Спасибо всем.
- Форум тестировщиков
- → Просмотр профиля: Сообщения: alexanderTest
alexanderTest еще не добавил друзей
30 декабря 2019 - 11:22
Можете закрывать, я разобрался. Спасибо всем.
21 ноября 2019 - 15:45
Еще вот такой код распарсивания iso 8583 попробывал:
import org.jpos.iso.packager.ISO87BPackager;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.ISOUtil;
public class ParseISOMsg {
public static void main(String[] args) throws ISOException {
String hexmsg = "3038313082200000020000000400000000000000111312532012345630300301";
// convert hex string to byte array
byte[] bmsg =ISOUtil.hex2byte(hexmsg);
ISOMsg m = new ISOMsg();
// set packager, change ISO87BPackager for the matching one.
m.setPackager(new ISO87BPackager());
//unpack the message using the packager
m.unpack(bmsg);
//dump the message to standar output
m.dump(System.out, "");
}
}
Выдает :
21 ноября 2019 - 10:16
isoMessageUnpack.getField(7) а точно просто цифрой 7, а не FIELDS.F7_TransmissionDataTime
так null выдает.
20 ноября 2019 - 13:53
Вроде разобрался теперь ответ не распаковывается ответ
public class ClientSocket {
//Должно получиться 30 38 30 30 82 20 00 00 00 00 00 00 04 00 00 00 00 00 00 00 11 13 12 53 20 12 34 56 03 01
//Сейчас 30 38 30 30 82 20 08 00 22 20 00 00 00 00 00 00 00 00 00 00 11 13 12 53 20 12 34 56 03 01
public static void main(String[] args) throws ISOException, ISOClientException, IOException, org.jpos.iso.ISOException {
ISOMessage isoMessage = ISOMessageBuilder.Packer(VERSION.V1987)
.defaultMan()
.mti(MESSAGE_FUNCTION.Request, MESSAGE_ORIGIN.Acquirer)
.processCode("0000000")
.setField(FIELDS.F7_TransmissionDataTime, "1113125320")
.setField(FIELDS.F11_STAN, "1234560301")
.setHeader("303830308220")
.build();
ISOClient client = ISOClientBuilder.createSocket("172.20.104.69", 5803)
.build();
System.out.println("isoMessage " + isoMessage);
client.connect();
byte[] response = client.sendMessageSync(isoMessage);
System.out.println("responseByte " + response);
System.out.println("response = " + Arrays.toString(response));
String hexString = StringUtil.fromByteArray(response);
System.out.println("response(hexString) = " + hexString);
client.disconnect();
// ParseISOMsg.parseISOMsg(hexString);
ISOMessage isoMessageUnpack = ISOMessageBuilder.Unpacker()
.setMessage(hexString)
.build();
byte[] body = isoMessage.getBody();
System.out.println("isoMessageUnpack " + isoMessageUnpack.getField(7));
}
}
19 ноября 2019 - 15:05
Попробовал другой клиент:
public static void main (String[] args) throws Exception {
Logger logger = new Logger();
logger.addListener (new SimpleLogListener (System.out));
ISOChannel channel = new ASCIIChannel (
"172.20.104.69", 5803, new ISO87APackager()
);
((LogSource)channel).setLogger (logger, "test-channel");
channel.connect ();
ISOMsg m = new ISOMsg ();
m.setMTI ("0800");
m.set (3, "000000");
m.set (41, "00000001");
m.set (70, "301");
channel.send (m);
ISOMsg r = channel.receive ();
channel.disconnect ();
}
Выдает исключение:
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru