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コードのバグを定義した方法の問題であるかどうかを理解するのに助けが必要です。
はい、それでした。ありがとうございました! – Eliseo