0

fields の要件があります127.25.1 >> 127.25.30。それらにはtlvデータが含まれています。フィールド127.25.1はビットマップであり、次の形式が必要です: b8 (Hex16) は、バイナリを 16 進数に変換する必要があることを意味します。このフィールドは、 の有無を示します127.25.2 >> 127.25.30。IsoFieldPackager127.25.1IFA_BITMAPlen 16 です。他のすべてのフィールドを問題なく設定できます。

out メッセージとそのデータを表示するために、これを使用して印刷しました。

ISOComponent c = isoMessage.getComponent("127.25");    
Map m = c.getChildren();
Iterator it = m.entrySet().iterator();
while (it.hasNext()) {
   if(pair.getValue() instanceof ISOBitMap){
      ISOBitMap b = (ISOBitMap)pair.getValue();
      System.out.println(b.getFieldNumber() + "=" + b.getValue() );
   }
   if(pair.getValue() instanceof ISOField){
      ISOField b = (ISOField)pair.getValue();
      System.out.println(b.getFieldNumber() + "=" + b.getValue());
   }

これから、127.25.1 のビットマップが次のように出力されていることがわかります。

-1={2, 5, 6, 7, 12, 13, 18, 22, 24, 26, 27, 28, 30}

これらすべてのフィールドには正しい値があり、私が設定したフィールドです。

私の問題は、リモート システムでの解析時に失敗することです。に必要な形式を考えると、長さ 16127.25.1 "b8 (Hex16)"の正しいデータ型を使用していますか?IFA_BITMAP

4

1 に答える 1