2012-05-04 6 views
2

OpenISO8583.Netコードの使い方を学んでいます。私は元のISO8583クラスを新しいクラスから派生させました。私の新しいクラスの違いの1つは、Message Typeフィールドが[Numeric、BCD]になることです。私は(私は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バイトはすべてゼロです。

今問題は、私がそれを開梱するテストです。使用:

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

得られたメッセージタイプがゼロの値を取得します。

これが私のクラスまたはISO8583コードのバグを定義した方法の問題であるかどうかを理解するのに助けが必要です。

答えて

1

本当にバグが見つかりました。私は問題13としてそれを記録し、それを修正しました。私はnugetでバージョン0.5.2をリリースし、binファイルをgooglecodeプロジェクトにアップロードしました。

+0

はい、それでした。ありがとうございました! – Eliseo

関連する問題