2012-05-04 1 views
2

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 코드에서 클래스 또는 버그를 정의한 방식에 문제가 있는지 이해할 수 있도록 도움이 필요합니다.

답변

1

실제로 버그를 발견했습니다. 나는 그것을 13 번 문제로 기록하고 그것을 고쳤다. 나는 버전 0.5.2를 nuget에 출시하고 bin 파일을 googlecode 프로젝트에 업로드했습니다.

+0

예. 고맙습니다! – Eliseo