OpenISO8583.Net 코드를 사용하는 방법을 배우고 있습니다. 나는 원래 ISO8583 클래스를 파생 시켰습니다. 새로운 클래스의 차이점 중 하나는 메시지 유형 필드가 [Numeric, BCD]가 될 것이라는 점입니다. 그래서 클래스 생성자 (I 클래스의 일환으로 DefaultTemplate 선언 지정을 할)의 일부로 본을 썼다 : OpenISO8583.Net BCD 형식의 메시지 형식
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 바이트는 모두 0입니다.
이제 문제를 풀 때 테스트합니다. 사용 :
fdISO8583 = new FDISO8583();
int pos = fdISO8583.Unpack(testMsg, 0);
결과 메시지 유형의 값은 0입니다.
내가 ISO8583 코드에서 클래스 또는 버그를 정의한 방식에 문제가 있는지 이해할 수 있도록 도움이 필요합니다.
예. 고맙습니다! – Eliseo