OpenISO8583.Net BCD格式化消息类型

时间:2012-05-04 20:22:27

标签: customization iso8583 openiso8583.net

我正在学习如何使用OpenISO8583.Net代码。我从原版中派生出了一个新的ISO8583类。我的新课程的一个不同之处是Message Type字段将是[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代码中的错误的方式上的问题。

1 个答案:

答案 0 :(得分:1)

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