OpenISO8583.Net Тип сообщения в формате BCD
Я учусь использовать код 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, который я считаю правильным. Первые 2 байта для типа сообщения со значением BCD и растровым изображением - все нули.
Теперь проблема в том, когда я тестирую распаковку. С помощью:
fdISO8583 = new FDISO8583();
int pos = fdISO8583.Unpack(testMsg, 0);
Результирующий тип сообщения получает значение ноль.
Мне нужна помощь в понимании, если это проблема в том, как я определил класс, или ошибка в коде ISO8583.
1 ответ
Вы действительно нашли ошибку. Я зарегистрировал это как Проблема 13 и исправил это. Я выпустил версию 0.5.2 для nuget и загрузил файл bin в проект googlecode.