2017-02-28 58 views
0

我對字段127.25.1 >> 127.25.30有要求。它們包含tlv數據。 字段127.25.1是位圖,它們需要以下格式: b8(Hex16)表示二進制必須轉換爲十六進制。該字段表示存在/不存在127.25.2 >> 127.25.30。 IsoFieldPackager 127.25.1IFA_BITMAP len 16. 我可以設置所有其他字段沒有問題。Jpos位圖字段類型 - 設置爲十六進制

要查看出的消息和它的數據I使用該打印:

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} 

和所有這些字段具有正確的值,並且是我設置的字段。

我的問題是在遠程系統上解析時失敗。鑑於127.25.1 "b8 (Hex16)"所需的格式,我是否使用長度爲16的正確數據類型IFA_BITMAP

回答

1

127.25包裝類型是不正確的,設置爲:

new IFA_LLLLCHAR(8000, "ICC DATA") 

而且127.25.1設置爲十六進制:

new IFA_BITMAP(8, "BITMAP") 
相關問題