2017-02-28 4 views
0

필드에 대한 요구 사항이 127.25.1 >> 127.25.30입니다. 그들은 tlv 데이터를 포함합니다. 필드 127.25.1은 비트 맵이며 다음과 같은 형식이 필요합니다. b8 (16 진수) 바이너리가 16 진수로 변환되어야 함을 의미합니다. 이 필드는 127.25.2 >> 127.25.30의 유무를 나타냅니다. 127.25.1의 IsoFieldPackager는 IFA_BITMAP len 16. 다른 모든 필드를 아무런 문제없이 설정할 수 있습니다. Jpos 비트 맵 필드 유형 - 16 진수로 설정

내가 인쇄이 사용 아웃 메시지와 데이터를 보려면 :

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

이 모든 필드 :이에서

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에서 비트 맵을 볼 수 있습니다 올바른 값을 가지고 내가 설정 한 필드입니다.

원격 시스템에서 구문 분석 할 때 내 문제가 발생합니다. 127.25.1 "b8 (Hex16)"에 대해 필요한 형식이 주어진다면 길이가 16 인 IFA_BITMAP의 올바른 데이터 유형을 사용하고 있습니까?

답변

1

127.25 포장 유형, 올바르지로 설정 :

new IFA_BITMAP(8, "BITMAP") 
: 진수로

new IFA_LLLLCHAR(8000, "ICC DATA") 

그리고 127.25.1 세트