如何打包ISO信息到获取主机
How to Pack ISO message to acquiring host
我正在尝试使用 J8583 打包 ISO 8583 消息:
IsoMessage m = mf.newMessage(0x200); // You must use 0x200, 0x400, etc.
m.setValue(3, "000000", IsoType.ALPHA, 6);
m.setValue(11, "000001", IsoType.ALPHA, 6);
m.setValue(41, "3239313130303031", IsoType.ALPHA, 16);
m.setValue(60, "001054455354204D45535347", IsoType.ALPHA, 24);
m.setValue(70, "0301", IsoType.ALPHA, 4);
System.out.println(m.debugString());
在发送到获取主机之前,我应该如何获取 ISO 消息?
三种方式:
- 调用
writeData
将消息编码为字节数组。您有责任将其写入套接字,长度为 headers,终止符等
- 如果您正在使用 java.nio,请调用
writeToBuffer
以获取 ByteBuffer。您可以传递长度 header 的大小(通常为 2 或 4 个字节),或 0 以省略长度 header。生成的 ByteBuffer 包括消息终止符(如果已设置)。
- 调用
write
,将消息直接写入OutputStream。您可以指定长度 header 的大小,它还会写入终止符(如果已设置),然后刷新流。
我正在尝试使用 J8583 打包 ISO 8583 消息:
IsoMessage m = mf.newMessage(0x200); // You must use 0x200, 0x400, etc.
m.setValue(3, "000000", IsoType.ALPHA, 6);
m.setValue(11, "000001", IsoType.ALPHA, 6);
m.setValue(41, "3239313130303031", IsoType.ALPHA, 16);
m.setValue(60, "001054455354204D45535347", IsoType.ALPHA, 24);
m.setValue(70, "0301", IsoType.ALPHA, 4);
System.out.println(m.debugString());
在发送到获取主机之前,我应该如何获取 ISO 消息?
三种方式:
- 调用
writeData
将消息编码为字节数组。您有责任将其写入套接字,长度为 headers,终止符等 - 如果您正在使用 java.nio,请调用
writeToBuffer
以获取 ByteBuffer。您可以传递长度 header 的大小(通常为 2 或 4 个字节),或 0 以省略长度 header。生成的 ByteBuffer 包括消息终止符(如果已设置)。 - 调用
write
,将消息直接写入OutputStream。您可以指定长度 header 的大小,它还会写入终止符(如果已设置),然后刷新流。