如何打包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 的大小,它还会写入终止符(如果已设置),然后刷新流。