2

我正在学习如何使用 OpenISO8583.Net 代码。我从原来的类派生了一个新的 ISO8583 类。我的新课程的不同之处之一是消息类型字段将是 [Numeric, BCD];所以我把它写成类构造函数的一部分(我确实有一个自定义的 DefaultTemplate 声明为类的一部分):

DefaultTemplate.MsgTypeFormatter = Formatters.Bcd;

我创建了一条消息类型为 0100 (MsgType._0100_AUTH_REQ) 的新消息。不分配任何其他位。

        FDISO8583 fdISO8583 = new FDISO8583();
        fdISO8583.MessageType = FDISO8583.MsgType._0100_AUTH_REQ;
        byte[] testMsg = fdISO8583.ToMsg();

我的最终结果字节数组是: 01-00-00-00-00-00-00-00-00-00 我认为是正确的。具有 BCD 值和位图的消息类型的前 2 个字节全为零。

现在的问题是当我测试拆包时。使用:

        fdISO8583 = new FDISO8583();
        int pos = fdISO8583.Unpack(testMsg, 0);

结果消息类型的值为零。

我需要帮助了解这是否是我定义类的方式或 ISO8583 代码中的错误的问题。

4

1 回答 1

1

您确实发现了一个错误。我将其记录为问题 13 并已修复。我在 nuget 上发布了 0.5.2 版并将 bin 文件上传到 googlecode 项目。

于 2012-05-05T11:19:52.650 回答