Problem unpacking field 127.22

84 views
Skip to first unread message

cap10mycap10

unread,
Sep 16, 2021, 4:52:29 PM9/16/21
to jPOS Users
This is the  custom packager:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager PUBLIC
"-//jPOS/jPOS Generic Packager DTD 1.0//EN"
"http://jpos.org/dtd/generic-packager-1.0.dtd">

<!--
field 52 (PIN DATA): IFA_BINARY replaced by IFB_BINARY
field 127 (RESERVED PRIVATE USE): IFA_LLLBINARY replaced by IFA_LLLLLLBINARY
See:
http://groups-beta.google.com/group/jpos-users/browse_thread/thread/e60807e917c8c170/e29a681592d63a2b#e29a681592d63a2b
-->
<isopackager>
<isofield
id="0"
length="4"
name="MESSAGE TYPE INDICATOR"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="1"
length="16"
name="BIT MAP"
class="org.jpos.iso.IFB_BITMAP"/>
<!--<isofield
id="2"
length="19"
name="PAN - PRIMARY ACCOUNT NUMBER"
class="org.jpos.iso.IFA_LLNUM"/>-->
<isofield
id="3"
length="6"
name="PROCESSING CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="4"
length="12"
name="AMOUNT, TRANSACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="5"
length="12"
name="AMOUNT, SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<!--<isofield
id="6"
length="12"
name="AMOUNT, CARDHOLDER BILLING"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="7"
length="10"
name="TRANSMISSION DATE AND TIME"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="8"
length="8"
name="AMOUNT, CARDHOLDER BILLING FEE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="9"
length="8"
name="CONVERSION RATE, SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="10"
length="8"
name="CONVERSION RATE, CARDHOLDER BILLING"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="11"
length="6"
name="SYSTEM TRACE AUDIT NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="12"
length="6"
name="TIME, LOCAL TRANSACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="13"
length="4"
name="DATE, LOCAL TRANSACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="14"
length="4"
name="DATE, EXPIRATION"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="15"
length="4"
name="DATE, SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="16"
length="4"
name="DATE, CONVERSION"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="17"
length="4"
name="DATE, CAPTURE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="18"
length="4"
name="MERCHANTS TYPE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="19"
length="3"
name="ACQUIRING INSTITUTION COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="20"
length="3"
name="PAN EXTENDED COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="21"
length="3"
name="FORWARDING INSTITUTION COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="22"
length="3"
name="POINT OF SERVICE ENTRY MODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="23"
length="3"
name="CARD SEQUENCE NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="24"
length="3"
name="NETWORK INTERNATIONAL IDENTIFIEER"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="25"
length="2"
name="POINT OF SERVICE CONDITION CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="26"
length="2"
name="POINT OF SERVICE PIN CAPTURE CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="27"
length="1"
name="AUTHORIZATION IDENTIFICATION RESP LEN"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="28"
length="9"
name="AMOUNT, TRANSACTION FEE"
class="org.jpos.iso.IFA_AMOUNT"/>
<!--<isofield
id="29"
length="9"
name="AMOUNT, SETTLEMENT FEE"
class="org.jpos.iso.IFA_AMOUNT"/>-->
<isofield
id="30"
length="9"
name="AMOUNT, TRANSACTION PROCESSING FEE"
class="org.jpos.iso.IFA_AMOUNT"/>
<!-- <isofield
id="31"
length="9"
name="AMOUNT, SETTLEMENT PROCESSING FEE"
class="org.jpos.iso.IFA_AMOUNT"/>-->
<isofield
id="32"
length="11"
name="ACQUIRING INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="33"
length="11"
name="FORWARDING INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>
<!--<isofield
id="34"
length="28"
name="PAN EXTENDED"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="35"
length="37"
name="TRACK 2 DATA"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="36"
length="104"
name="TRACK 3 DATA"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
<isofield
id="37"
length="12"
name="RETRIEVAL REFERENCE NUMBER"
class="org.jpos.iso.IF_CHAR"/>
<!--<isofield
id="38"
length="6"
name="AUTHORIZATION IDENTIFICATION RESPONSE"
class="org.jpos.iso.IF_CHAR"/>-->
<isofield
id="39"
length="2"
name="RESPONSE CODE"
class="org.jpos.iso.IF_CHAR"/>
<!-- <isofield
id="40"
length="3"
name="SERVICE RESTRICTION CODE"
class="org.jpos.iso.IF_CHAR"/>-->
<isofield
id="41"
length="8"
name="CARD ACCEPTOR TERMINAL IDENTIFICACION"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="42"
length="15"
name="CARD ACCEPTOR IDENTIFICATION CODE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="43"
length="40"
name="CARD ACCEPTOR NAME/LOCATION"
class="org.jpos.iso.IF_CHAR"/>
<!--<isofield
id="44"
length="25"
name="ADITIONAL RESPONSE DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="45"
length="76"
name="TRACK 1 DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="46"
length="999"
name="ADITIONAL DATA - ISO"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="47"
length="999"
name="ADITIONAL DATA - NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="48"
length="999"
name="ADITIONAL DATA - PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
<isofield
id="49"
length="3"
name="CURRENCY CODE, TRANSACTION"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="50"
length="3"
name="CURRENCY CODE, SETTLEMENT"
class="org.jpos.iso.IF_CHAR"/>
<!--<isofield
id="51"
length="3"
name="CURRENCY CODE, CARDHOLDER BILLING"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="52"
length="8"
name="PIN DATA"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="53"
length="48"
name="SECURITY RELATED CONTROL INFORMATION"
class="org.jpos.iso.IFB_BINARY "/>-->
<isofield
id="54"
length="120"
name="ADDITIONAL AMOUNTS"
class="org.jpos.iso.IFA_LLLCHAR"/>
<!--<isofield
id="55"
length="999"
name="RESERVED ISO"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
<isofield
id="56"
length="999"
name="RESERVED ISO"
class="org.jpos.iso.IFA_LLLCHAR"/>
<!-- <isofield
id="57"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="58"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
<isofield
id="59"
length="999"
name="RESERVED NATIONAL"
class="org.jpos.iso.IFA_LLLCHAR"/>
<!--<isofield
id="60"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="61"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="62"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="63"
length="999"
name="RESERVED PRIVATE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="64"
length="8"
name="MESSAGE AUTHENTICATION CODE FIELD"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="65"
length="8"
name="BITMAP, EXTENDED"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="66"
length="1"
name="SETTLEMENT CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="67"
length="2"
name="EXTENDED PAYMENT CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="68"
length="3"
name="RECEIVING INSTITUTION COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="69"
length="3"
name="SETTLEMENT INSTITUTION COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="70"
length="3"
name="NETWORK MANAGEMENT INFORMATION CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="71"
length="4"
name="MESSAGE NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="72"
length="4"
name="MESSAGE NUMBER LAST"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="73"
length="6"
name="DATE ACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="74"
length="10"
name="CREDITS NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="75"
length="10"
name="CREDITS REVERSAL NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="76"
length="10"
name="DEBITS NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="77"
length="10"
name="DEBITS REVERSAL NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="78"
length="10"
name="TRANSFER NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="79"
length="10"
name="TRANSFER REVERSAL NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="80"
length="10"
name="INQUIRIES NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="81"
length="10"
name="AUTHORIZATION NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="82"
length="12"
name="CREDITS, PROCESSING FEE AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="83"
length="12"
name="CREDITS, TRANSACTION FEE AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="84"
length="12"
name="DEBITS, PROCESSING FEE AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="85"
length="12"
name="DEBITS, TRANSACTION FEE AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="86"
length="16"
name="CREDITS, AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="87"
length="16"
name="CREDITS, REVERSAL AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="88"
length="16"
name="DEBITS, AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="89"
length="16"
name="DEBITS, REVERSAL AMOUNT"
class="org.jpos.iso.IFA_NUMERIC"/>-->
<isofield
id="90"
length="42"
name="ORIGINAL DATA ELEMENTS"
class="org.jpos.iso.IFA_NUMERIC"/>
<!--<isofield
id="91"
length="1"
name="FILE UPDATE CODE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="92"
length="2"
name="FILE SECURITY CODE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="93"
length="5"
name="RESPONSE INDICATOR"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="94"
length="7"
name="SERVICE INDICATOR"
class="org.jpos.iso.IF_CHAR"/>-->
<isofield
id="95"
length="42"
name="REPLACEMENT AMOUNTS"
class="org.jpos.iso.IF_CHAR"/>
<!--<isofield
id="96"
length="8"
name="MESSAGE SECURITY CODE"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="97"
length="17"
name="AMOUNT, NET SETTLEMENT"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="98"
length="25"
name="PAYEE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="99"
length="11"
name="SETTLEMENT INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>-->
<isofield
id="100"
length="11"
name="RECEIVING INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>
<!--<isofield
id="101"
length="17"
name="FILE NAME"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="102"
length="28"
name="ACCOUNT IDENTIFICATION 1"
class="org.jpos.iso.IFA_LLCHAR"/>-->
<isofield
id="103"
length="28"
name="ACCOUNT IDENTIFICATION 2"
class="org.jpos.iso.IFA_LLCHAR"/>
<!--<isofield
id="104"
length="100"
name="TRANSACTION DESCRIPTION"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="105"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="106"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="107"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="108"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="109"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="110"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="111"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="112"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="113"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="114"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="115"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="116"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="117"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="118"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="119"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="120"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="121"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="122"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
<isofield
id="123"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<!--<isofield
id="124"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="125"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="126"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLCHAR"/>-->

<isofieldpackager
id="127"
length="999999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLLLLBINARY"
packager="org.jpos.iso.packager.GenericSubFieldPackager">
<isofield
id="0"
length="0"
name="PLACEHOLDER"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="1"
length="8"
name="BITMAP"
class="org.jpos.iso.IFB_BITMAP"/>
<isofield
id="2"
length="32"
name="SWITCH KEY"
class="org.jpos.iso.IFA_LLCHAR"/>
<!--<isofield
id="3"
length="48"
name="ROUTING INFORMATION"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="4"
length="22"
name="POS DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="5"
length="73"
name="SERVICE STATION DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="6"
length="2"
name="AUTHORIZATION PROFILE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="7"
length="50"
name="CHECK DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="8"
length="128"
name="RETENTION DATA"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="9"
length="255"
name="ADDITIONAL NODE DATA"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="10"
length="3"
name="CVV2"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="11"
length="32"
name="ORIGINAL KEY"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="12"
length="25"
name="TERMINAL OWNDER"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="13"
length="17"
name="POS GEOGRAPHIC DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="14"
length="8"
name="SPONSOR BANK"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="15"
length="29"
name="AVS REQUEST"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="16"
length="1"
name="AVS RESPONSE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="17"
length="50"
name="CARDHOLDER INFORMATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="18"
length="50"
name="VALIDATION DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="19"
length="45"
name="BANK DETAILS"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="20"
length="8"
name="AUTHORIZER DATE SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="21"
length="12"
name="RECORD IDENTIFICATION"
class="org.jpos.iso.IFA_LLCHAR"/>-->
<isofield
id="22"
length="99999"
name="STRUCTURED DATA"
class="org.jpos.iso.IFA_LLLLLCHAR"/>
<!--<isofield
id="23"
length="253"
name="PAYEE NAME AND ADDRESS"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="24"
length="28"
name="PAYER ACCOUNT INFORMATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="25"
length="8000"
name="ICC DATA"
class="org.jpos.iso.IFA_LLLLCHAR"/>
<isofield
id="26"
length="20"
name="ORIGINAL NODE"
class="org.jpos.iso.IFA_LLCHAR"/>-->
</isofieldpackager>

<!-- <isofield
id="128"
length="999"
name="MAC 2"
class="org.jpos.iso.IFA_LLLCHAR"/>-->
</isopackager>


and this is the data I am receiving:

0200:
   [Fixed  n       6 006] 003 [510000]
   [None   n         012] 004 [000000009999]
   [Fixed  n      10 010] 007 [0915114041]
   [Fixed  n       6 006] 011 [028657]
   [Fixed  n       6 006] 012 [114041]
   [Fixed  n       4 004] 013 [0915]
   [Fixed  n       4 004] 015 [0915]
   [Fixed  n       3 003] 022 [000]
   [Fixed  n       2 002] 025 [00]
   [Fixed  n       2 002] 026 [08]
   [LLVAR  n    ..11 006] 032 [516261]
   [LLVAR  n    ..11 006] 033 [123456]
   [Fixed  anp    12 012] 037 [091585787752]
   [Fixed  ans     8 008] 041 [Bank ]
   [Fixed  ans    15 015] 042 [Theswitch  Tran]
   [Fixed  ans    40 040] 043 [Bank                              716]
   [Fixed  a/n     3 003] 049 [932]
   [LLLVAR ans ..500 386] 059 [18FIELD_43240Bank                              716218Postilion:MetaData313018FIELD_4311118FIELD_1211118FIELD_3211118FIELD_6011118FIELD_2611118FIELD_2411118FIELD_2211118FIELD_1911117FIELD_211119FIELD_10011118FIELD_1221221091511404118FIELD_321651626118FIELD_601320118FIELD_2614541118FIELD_241320018FIELD_2221200000000000018FIELD_191371619FIELD_1001663931217FIELD_2218516261263772699555]
   [LLVAR  n    ..11 006] 100 [639312]
   [LLVAR  ans  ..28 010] 103 [1090000361]
   [LLLVAR an     15 015] 123 [000000000000121]
   [LLVAR  ans  ..32 022] 127.002 [0200:028657:0915114041]
   [LLLLLVAans 99999 626] 127.022.Postilion:MetaData
                                   [214AdditionalData111]
   [LLLLLVAans 99999 626] 127.022.AdditionalData
                                   [<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                                     <field127>    
                                       <ExtendedTransactionType>9000</ExtendedTransactionType>
                                       <SenderDetails>        
                                         <Bank>Bank</Bank>
                                         <FirstName>Name</FirstName>
                                         <LastName>Surname</LastName>
                                         <NationalId>09178307I44</NationalId>
                                         <MobileNumber>234772699555</MobileNumber>
                                         <Reference>31</Reference>
                                         <EmailAddress></EmailAddress>
                                       </SenderDetails>
                                       <SourceOfFunds></SourceOfFunds>
                                       <TranPurposeCode>OTR</TranPurposeCode>
                                       <ResponseDescription></ResponseDescription>
                                     </field127>]

And I am getting this error unpacking:

receive>
    <iso-exception>
      org.jpos.iso.IFA_LLLLLCHAR: Problem unpacking field 22 (org.jpos.iso.ISOException: Invalid character found. Expected digit.) unpacking field=127, consumed=247
      org.jpos.iso.ISOException: org.jpos.iso.IFA_LLLLLCHAR: Problem unpacking field 22 (org.jpos.iso.ISOException: Invalid character found. Expected digit.) unpacking field=127, consumed=247
    at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:341)
    at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:479)
    at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:976)
    at org.jpos.iso.BaseChannel.receive(BaseChannel.java:746)
    at org.jpos.iso.ISOServer$Session.run(ISOServer.java:344)
    at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:76)
    </iso-exception>
    --- data ---
    0000  30 32 30 30 B2 3A 04 D5  88 E0 81 20 00 00 00 00  0200.:..... ....
0010  12 00 00 22 35 31 30 30  30 30 30 30 30 30 30 30  ..."510000000000
0020  30 30 39 39 39 39 30 39  31 36 32 31 34 33 32 36  0099990916214326
0030  31 31 37 32 32 39 30 39  33 38 33 33 30 39 30 37  1172290938330907
0040  30 39 31 36 30 30 30 30  30 30 38 43 30 30 30 30  09160000008C0000
0050  30 30 30 30 43 30 30 30  30 30 30 30 30 30 36 35  0000C00000000065
0060  36 31 34 38 31 30 36 31  32 33 34 35 36 30 30 30  6148106123456000
0070  30 30 30 30 33 32 36 31  39 33 30 30 35 30 30 30  0000326193005000
0080  31 5A 69 6D 73 77 69 74  63 68 20 20 54 72 61 6E  1Zimswitch  Tran
0090  46 42 43 20 45 63 6F 6E  65 74 20 4D 6F 62 69 6C  FBC Econet Mobil
00a0  65 20 4D 6F 6F 6C 61 48  61 72 61 72 65 20 20 20  e MoolaHarare   
00b0  20 20 20 20 20 37 31 36  39 33 32 30 30 34 31 35       71693200415
00c0  31 30 30 31 30 30 30 30  30 30 33 32 36 31 39 30  1001000000326190
00d0  36 35 36 31 34 38 31 31  32 32 36 33 37 37 32 36  6561481122637726
00e0  39 39 35 35 35 30 31 35  31 30 30 34 35 30 32 30  9955501510045020
00f0  30 31 33 30 31 32 31 30  30 30 35 38 30 60 00 14  0130121000580`..
0100  00 00 00 00 00 31 30 30  30 30 30 30 33 32 36 31  .....10000003261
0110  39 5A 73 77 53 72 63 20  20 20 20 20 20 4D 65 74  9ZswSrc      Met
0120  43 61 73 68 53 6E 6B 20  20 31 31 37 32 32 39 31  CashSnk  1172291
0130  31 37 32 32 39 20 20 20  20 20 20 20 20 20 20 20  17229           
0140  20 32 30 32 31 30 39 31  36 30 30 34 39 39 32 31   202109160049921
0150  38 50 6F 73 74 69 6C 69  6F 6E 3A 4D 65 74 61 44  8Postilion:MetaD
0160  61 74 61 32 32 30 32 31  34 41 64 64 69 74 69 6F  ata220214Additio
0170  6E 61 6C 44 61 74 61 31  31 31 32 31 34 41 64 64  nalData111214Add
0180  69 74 69 6F 6E 61 6C 44  61 74 61 33 34 33 34 3C  itionalData3434<
0190  3F 78 6D 6C 20 76 65 72  73 69 6F 6E 3D 22 31 2E  ?xml version="1.
01a0  30 22 20 65 6E 63 6F 64  69 6E 67 3D 22 55 54 46  0" encoding="UTF
01b0  2D 38 22 20 73 74 61 6E  64 61 6C 6F 6E 65 3D 22  -8" standalone="
01c0  79 65 73 22 3F 3E 3C 66  69 65 6C 64 31 32 37 3E  yes"?><field127>
01d0  20 20 20 20 3C 45 78 74  65 6E 64 65 64 54 72 61      <ExtendedTra
01e0  6E 73 61 63 74 69 6F 6E  54 79 70 65 3E 39 30 30  nsactionType>900
01f0  30 3C 2F 45 78 74 65 6E  64 65 64 54 72 61 6E 73  0</ExtendedTrans
0200  61 63 74 69 6F 6E 54 79  70 65 3E 20 20 20 20 3C  actionType>    <
0210  53 65 6E 64 65 72 44 65  74 61 69 6C 73 3E 20 20  SenderDetails>  
0220  20 20 20 20 20 20 3C 42  61 6E 6B 3E 46 42 43 42        <Bank>FBCB
0230  61 6E 6B 3C 2F 42 61 6E  6B 3E 20 20 20 20 20 20  ank</Bank>      
0240  20 20 3C 4E 61 74 69 6F  6E 61 6C 49 64 3E 36 33    <NationalId>63
0250  32 31 35 31 32 30 37 42  32 38 3C 2F 4E 61 74 69  2151207B28</Nati
0260  6F 6E 61 6C 49 64 3E 20  20 20 20 20 20 20 20 3C  onalId>        <
0270  4D 6F 62 69 6C 65 4E 75  6D 62 65 72 3E 32 36 33  MobileNumber>263
0280  37 37 32 39 36 32 31 30  30 3C 2F 4D 6F 62 69 6C  772962100</Mobil
0290  65 4E 75 6D 62 65 72 3E  20 20 20 20 20 20 20 20  eNumber>        
02a0  3C 52 65 66 65 72 65 6E  63 65 3E 54 65 73 74 3C  <Reference>Test<
02b0  2F 52 65 66 65 72 65 6E  63 65 3E 20 20 20 20 20  /Reference>     
02c0  20 20 20 3C 45 6D 61 69  6C 41 64 64 72 65 73 73     <EmailAddress
02d0  3E 6C 6F 76 65 6A 6F 79  6D 61 70 68 6F 73 61 40  >lovejoymaphosa@
02e0  79 61 68 6F 6F 2E 63 6F  6D 3C 2F 45 6D 61 69 6C  yahoo.com</Email
02f0  41 64 64 72 65 73 73 3E  20 20 20 20 3C 2F 53 65  Address>    </Se
0300  6E 64 65 72 44 65 74 61  69 6C 73 3E 20 20 20 20  nderDetails>    
0310  3C 54 72 61 6E 50 75 72  70 6F 73 65 43 6F 64 65  <TranPurposeCode
0320  3E 4F 54 52 3C 2F 54 72  61 6E 50 75 72 70 6F 73  >OTR</TranPurpos
0330  65 43 6F 64 65 3E 3C 2F  66 69 65 6C 64 31 32 37  eCode></field127
0340  3E                                                >

  </receive>
</log>

Any Idea why?

murtuza chhil

unread,
Sep 16, 2021, 11:44:42 PM9/16/21
to jPOS Users

I use the postpack.xml provided by jpos which works. I didn’t look at your packager. You should go through yours field by field and see what’s not correct.


import org.jpos.iso.ISOMsg;
import org.jpos.iso.ISOUtil;
import org.jpos.iso.packager.GenericPackager;
import org.jpos.util.Logger;
import org.jpos.util.SimpleLogListener;

public class Blah {

    public static void main(String[] args) {

        //Take the hexdump from the email
        String hex = "30323030B23A04D588E0812000000000" + "12000022353130303030303030303030"
                     + "30303939393930393136323134333236" + "31313732323930393338333330393037"
                     + "30393136303030303030384330303030" + "30303030433030303030303030303635"
                     + "36313438313036313233343536303030" + "30303030333236313933303035303030"
                     + "315A696D73776974636820205472616E" + "4642432045636F6E6574204D6F62696C"
                     + "65204D6F6F6C61486172617265202020" + "20202020203731363933323030343135"
                     + "31303031303030303030333236313930" + "36353631343831313232363337373236"
                     + "39393535353031353130303435303230" + "30313330313231303030353830600014"
                     + "00000000003130303030303033323631" + "395A73775372632020202020204D6574"
                     + "43617368536E6B202031313732323931" + "31373232392020202020202020202020"
                     + "20323032313039313630303439393231" + "38506F7374696C696F6E3A4D65746144"
                     + "6174613232303231344164646974696F" + "6E616C44617461313131323134416464"
                     + "6974696F6E616C44617461333433343C" + "3F786D6C2076657273696F6E3D22312E"
                     + "302220656E636F64696E673D22555446" + "2D3822207374616E64616C6F6E653D22"
                     + "796573223F3E3C6669656C643132373E" + "202020203C457874656E646564547261"
                     + "6E73616374696F6E547970653E393030" + "303C2F457874656E6465645472616E73"
                     + "616374696F6E547970653E202020203C" + "53656E64657244657461696C733E2020"
                     + "2020202020203C42616E6B3E46424342" + "616E6B3C2F42616E6B3E202020202020"
                     + "20203C4E6174696F6E616C49643E3633" + "323135313230374232383C2F4E617469"
                     + "6F6E616C49643E20202020202020203C" + "4D6F62696C654E756D6265723E323633"
                     + "3737323936323130303C2F4D6F62696C" + "654E756D6265723E2020202020202020"
                     + "3C5265666572656E63653E546573743C" + "2F5265666572656E63653E2020202020"
                     + "2020203C456D61696C41646472657373" + "3E6C6F76656A6F796D6170686F736140"
                     + "7961686F6F2E636F6D3C2F456D61696C" + "416464726573733E202020203C2F5365"
                     + "6E64657244657461696C733E20202020" + "3C5472616E507572706F7365436F6465"
                     + "3E4F54523C2F5472616E507572706F73" + "65436F64653E3C2F6669656C64313237" + "3E";

        ISOMsg m = new ISOMsg();
        try {
            GenericPackager pkg = new GenericPackager("location of jpos postpack.xml");
            Logger l = new Logger();
            l.addListener(new SimpleLogListener());

            pkg.setLogger(l, "");
            m.setPackager(pkg);
            //convert the hex to bytes and feed it to unpack
            byte[] arr = ISOUtil.hex2byte(hex);
            m.unpack(arr);
            m.dump(System.out, "");
        }
        catch (Exception e) {
            m.dump(System.out, "x");
            e.printStackTrace();

        }

    }

}

output

<log realm="-fld-127" at="2021-09-17T08:57:50.026" lifespan="392ms">
  <unpack>
    60001400000000003130303030303033323631395A73775372632020202020204D657443617368536E6B202031313732323931313732323920202020202020202020202032303231303931363030343939323138506F7374696C696F6E3A4D657461446174613232303231344164646974696F6E616C446174613131313231344164646974696F6E616C44617461333433343C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D3822207374616E64616C6F6E653D22796573223F3E3C6669656C643132373E202020203C457874656E6465645472616E73616374696F6E547970653E393030303C2F457874656E6465645472616E73616374696F6E547970653E202020203C53656E64657244657461696C733E20202020202020203C42616E6B3E46424342616E6B3C2F42616E6B3E20202020202020203C4E6174696F6E616C49643E3633323135313230374232383C2F4E6174696F6E616C49643E20202020202020203C4D6F62696C654E756D6265723E3236333737323936323130303C2F4D6F62696C654E756D6265723E20202020202020203C5265666572656E63653E546573743C2F5265666572656E63653E20202020202020203C456D61696C416464726573733E6C6F76656A6F796D6170686F7361407961686F6F2E636F6D3C2F456D61696C416464726573733E202020203C2F53656E64657244657461696C733E202020203C5472616E507572706F7365436F64653E4F54523C2F5472616E507572706F7365436F64653E3C2F6669656C643132373E
  </unpack>
</log>
<log realm="" at="2021-09-17T08:57:50.754" lifespan="1151ms">
  <unpack>
    30323030B23A04D588E081200000000012000022353130303030303030303030303039393939303931363231343332363131373232393039333833333039303730393136303030303030384330303030303030304330303030303030303036353631343831303631323334353630303030303030333236313933303035303030315A696D73776974636820205472616E4642432045636F6E6574204D6F62696C65204D6F6F6C61486172617265202020202020202037313639333230303431353130303130303030303033323631393036353631343831313232363337373236393935353530313531303034353032303031333031323130303035383060001400000000003130303030303033323631395A73775372632020202020204D657443617368536E6B202031313732323931313732323920202020202020202020202032303231303931363030343939323138506F7374696C696F6E3A4D657461446174613232303231344164646974696F6E616C446174613131313231344164646974696F6E616C44617461333433343C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D3822207374616E64616C6F6E653D22796573223F3E3C6669656C643132373E202020203C457874656E6465645472616E73616374696F6E547970653E393030303C2F457874656E6465645472616E73616374696F6E547970653E202020203C53656E64657244657461696C733E20202020202020203C42616E6B3E46424342616E6B3C2F42616E6B3E20202020202020203C4E6174696F6E616C49643E3633323135313230374232383C2F4E6174696F6E616C49643E20202020202020203C4D6F62696C654E756D6265723E3236333737323936323130303C2F4D6F62696C654E756D6265723E20202020202020203C5265666572656E63653E546573743C2F5265666572656E63653E20202020202020203C456D61696C416464726573733E6C6F76656A6F796D6170686F7361407961686F6F2E636F6D3C2F456D61696C416464726573733E202020203C2F53656E64657244657461696C733E202020203C5472616E507572706F7365436F64653E4F54523C2F5472616E507572706F7365436F64653E3C2F6669656C643132373E
    <bitmap>{1, 3, 4, 7, 11, 12, 13, 15, 22, 25, 26, 28, 30, 32, 33, 37, 41, 42, 43, 49, 56, 59, 100, 103, 123, 127}</bitmap>
    <unpack fld="3" packager="org.jpos.iso.IFA_NUMERIC">
      <value>510000</value>
    </unpack>
    <unpack fld="4" packager="org.jpos.iso.IFA_NUMERIC">
      <value>000000009999</value>
    </unpack>
    <unpack fld="7" packager="org.jpos.iso.IFA_NUMERIC">
      <value>0916214326</value>
    </unpack>
    <unpack fld="11" packager="org.jpos.iso.IFA_NUMERIC">
      <value>117229</value>
    </unpack>
    <unpack fld="12" packager="org.jpos.iso.IFA_NUMERIC">
      <value>093833</value>
    </unpack>
    <unpack fld="13" packager="org.jpos.iso.IFA_NUMERIC">
      <value>0907</value>
    </unpack>
    <unpack fld="15" packager="org.jpos.iso.IFA_NUMERIC">
      <value>0916</value>
    </unpack>
    <unpack fld="22" packager="org.jpos.iso.IFA_NUMERIC">
      <value>000</value>
    </unpack>
    <unpack fld="25" packager="org.jpos.iso.IFA_NUMERIC">
      <value>00</value>
    </unpack>
    <unpack fld="26" packager="org.jpos.iso.IFA_NUMERIC">
      <value>08</value>
    </unpack>
    <unpack fld="28" packager="org.jpos.iso.IFA_AMOUNT">
      <value>C00000000</value>
    </unpack>
    <unpack fld="30" packager="org.jpos.iso.IFA_AMOUNT">
      <value>C00000000</value>
    </unpack>
    <unpack fld="32" packager="org.jpos.iso.IFA_LLNUM">
      <value>561481</value>
    </unpack>
    <unpack fld="33" packager="org.jpos.iso.IFA_LLNUM">
      <value>123456</value>
    </unpack>
    <unpack fld="37" packager="org.jpos.iso.IF_CHAR">
      <value>000000032619</value>
    </unpack>
    <unpack fld="41" packager="org.jpos.iso.IF_CHAR">
      <value>30050001</value>
    </unpack>
    <unpack fld="42" packager="org.jpos.iso.IF_CHAR">
      <value>Zimswitch  Tran</value>
    </unpack>
    <unpack fld="43" packager="org.jpos.iso.IF_CHAR">
      <value>FBC Econet Mobile MoolaHarare        716</value>
    </unpack>
    <unpack fld="49" packager="org.jpos.iso.IF_CHAR">
      <value>932</value>
    </unpack>
    <unpack fld="56" packager="org.jpos.iso.IFA_LLLCHAR">
      <value>1510</value>
    </unpack>
    <unpack fld="59" packager="org.jpos.iso.IFA_LLLCHAR">
      <value>0000032619</value>
    </unpack>
    <unpack fld="100" packager="org.jpos.iso.IFA_LLNUM">
      <value>561481</value>
    </unpack>
    <unpack fld="103" packager="org.jpos.iso.IFA_LLCHAR">
      <value>263772699555</value>
    </unpack>
    <unpack fld="123" packager="org.jpos.iso.IFA_LLLCHAR">
      <value>100450200130121</value>
    </unpack>
    <unpack fld="127" packager="org.jpos.iso.ISOMsgFieldPackager">
    <isomsg direction="none" id="127">
      <!-- org.jpos.iso.packager.GenericSubFieldPackager -->
      <field id="2" value="0000032619"/>
      <field id="3" value="ZswSrc      MetCashSnk  117229117229            "/>
      <field id="20" value="20210916"/>
      <field id="22"><![CDATA[218Postilion:MetaData220214AdditionalData111214AdditionalData3434<?xml version="1.0" encoding="UTF-8" standalone="yes"?><field127>    <ExtendedTransactionType>9000</ExtendedTransactionType>    <SenderDetails>        <Bank>FBCBank</Bank>        <NationalId>632151207B28</NationalId>        <MobileNumber>263772962100</MobileNumber>        <Reference>Test</Reference>        <EmailAddress>lovejoy...@yahoo.com</EmailAddress>    </SenderDetails>    <TranPurposeCode>OTR</TranPurposeCode></field127>]]></field>
    </isomsg>
    </unpack>
  </unpack>
</log>
<isomsg direction="none">
  <!-- org.jpos.iso.packager.GenericPackager[/Volumes/Z Drive/SourceRepo/OIIDev/Incomm/build/cfg/postpack.xml] -->
  <field id="0" value="0200"/>
  <field id="bitmap" value="{1, 3, 4, 7, 11, 12, 13, 15, 22, 25, 26, 28, 30, 32, 33, 37, 41, 42, 43, 49, 56, 59, 100, 103, 123, 127}" type="bitmap"/>
  <field id="3" value="510000"/>
  <field id="4" value="000000009999"/>
  <field id="7" value="0916214326"/>
  <field id="11" value="117229"/>
  <field id="12" value="093833"/>
  <field id="13" value="0907"/>
  <field id="15" value="0916"/>
  <field id="22" value="000"/>
  <field id="25" value="00"/>
  <field id="26" value="08"/>
  <field id="28" value="C00000000"/>
  <field id="30" value="C00000000"/>
  <field id="32" value="561481"/>
  <field id="33" value="123456"/>
  <field id="37" value="000000032619"/>
  <field id="41" value="30050001"/>
  <field id="42" value="Zimswitch  Tran"/>
  <field id="43" value="FBC Econet Mobile MoolaHarare        716"/>
  <field id="49" value="932"/>
  <field id="56" value="1510"/>
  <field id="59" value="0000032619"/>
  <field id="100" value="561481"/>
  <field id="103" value="263772699555"/>
  <field id="123" value="100450200130121"/>
  <isomsg id="127">
    <!-- org.jpos.iso.packager.GenericSubFieldPackager -->
    <field id="2" value="0000032619"/>
    <field id="3" value="ZswSrc      MetCashSnk  117229117229            "/>
    <field id="20" value="20210916"/>
    <field id="22"><![CDATA[218Postilion:MetaData220214AdditionalData111214AdditionalData3434<?xml version="1.0" encoding="UTF-8" standalone="yes"?><field127>    <ExtendedTransactionType>9000</ExtendedTransactionType>    <SenderDetails>        <Bank>FBCBank</Bank>        <NationalId>632151207B28</NationalId>        <MobileNumber>263772962100</MobileNumber>        <Reference>Test</Reference>        <EmailAddress>lovejoy...@yahoo.com</EmailAddress>    </SenderDetails>    <TranPurposeCode>OTR</TranPurposeCode></field127>]]></field>
  </isomsg>
</isomsg>

Mapfunde Venon

unread,
Sep 17, 2021, 5:30:38 PM9/17/21
to jpos-...@googlegroups.com
Thanks, I used PostPackager in my qmux.xml and it was not working, so I then reset the Packager in the RequestListener and it worked.  Thanks for the help.

public void run() {
GenericPackager pkg = new GenericPackager("cfg/packager/postpack.xml");
    Logger l = new Logger();
l.addListener(new SimpleLogListener());
pkg.setLogger(l, "");
    isoMsg.setPackager(pkg);

switch (isoMsg.getMTI()) {
case "0200": {
isoMsg.setResponseMTI();
isoMsg.set(39, "00");
isoSource.send(isoMsg);
Venon Mapfunde(PMP,Msc Software Engineering,Bsc Computer Science & Mathematics)
Tel:+263 775 091 262
Email:taka...@gmail.com
Skype: venon.mapfunde


--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/892c35c0-72eb-44da-8f71-30a335f749c3n%40googlegroups.com.

murtuza chhil

unread,
Sep 21, 2021, 9:39:58 PM9/21/21
to jPOS Users
For testing and POC it's fine to add processing logic to your request listener but for production ready applications stay away from this approach. Request listeners are blocking by nature causing incoming request will not get handled asap.
Get the request, source etc. in a Context and place this context in a jpos jtxn mgr queue and let the txn mgr  participants process requests it in a multi-threaded way.

Please refer to the programmer's guide http://jpos.org/doc/proguide-draft.pdf

-chhil

Thulasiram Reddy Keesanuru

unread,
Sep 22, 2021, 6:21:06 AM9/22/21
to jpos-...@googlegroups.com
Dear Chill,

while packing field 127.22 <![CDATA[ is Appending. is it possible ot remove CDATA.

<field id="22"><![CDATA[218Postilion:MetaData220214AdditionalData111214AdditionalData3434<?xml version="1.0" encoding="UTF-8" standalone="yes"?><field127> <ExtendedTransactionType>9000</ExtendedTransactionType> <SenderDetails> <Bank>FBCBank</Bank> <NationalId>632151207B28</NationalId> <MobileNumber>263772962100</MobileNumber> <Reference>Test</Reference> <EmailAddress>lovejoy...@yahoo.com</EmailAddress> </SenderDetails> <TranPurposeCode>OTR</TranPurposeCode></field127>]]></field>



Mapfunde Venon

unread,
Sep 22, 2021, 7:42:31 AM9/22/21
to jpos-...@googlegroups.com
Thanks @chi...@gmail.com,  TransactionManager is what I am looking at right now.  Still looking through the documentation to understand it. 
Venon Mapfunde(PMP,Msc Software Engineering,Bsc Computer Science & Mathematics)
Tel:+263 775 091 262
Email:taka...@gmail.com
Skype: venon.mapfunde

Mapfunde Venon

unread,
Sep 22, 2021, 7:48:38 AM9/22/21
to jpos-...@googlegroups.com
Venon Mapfunde(PMP,Msc Software Engineering,Bsc Computer Science & Mathematics)
Tel:+263 775 091 262
Email:taka...@gmail.com
Skype: venon.mapfunde

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.

chhil

unread,
Sep 22, 2021, 8:38:14 AM9/22/21
to jpos-...@googlegroups.com
CDATA is used only when jpos is dumping data to the log. When you get or set the field, it won't be there.

Since the jpos logs are xml, it makes sure that the data shown for a field in the log is as it was received without having to escape anything and follows the generic packager dtd rules (referenced in your xml packager).


-chhil

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to a topic in the Google Groups "jPOS Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jpos-users/yAPQC_q6-5I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jpos-users+...@googlegroups.com.

cap10mycap10

unread,
Nov 4, 2021, 8:54:05 AM11/4/21
to jPOS Users
I am failing to unpack this message:

String hex = "31323130F23A04C10AE0802000000000120000223136363339333132313031303633393732383237303030303030303030303030303230303039323331303135313431393930323030303030303031343130343331313034323131313034303030303030303030303030303030303030313230363630313233373133303831343037313638313930384D4554423930303336333933313230303030303930303334304D455442414E4B204D6F62696C65204E65744F6E652020486172617265202020202020205A575A573933323031324C303030313138383233353030363530343938373133303030303032303030303332353031353036303030303236353030303132313030303039350000040000000000";


and my packager is below:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager SYSTEM "genericpackager.dtd">
<isopackager>
<isofield
id="0"
length="4"
name="MESSAGE TYPE INDICATOR"
class="org.jpos.iso.IFA_NUMERIC"
/>
<isofield
id="1"
length="16"
name="BIT MAP"
class="org.jpos.iso.IFB_BITMAP"/>
<isofield
id="2"
length="19"
name="PAN - PRIMARY ACCOUNT NUMBER"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="3"
length="6"
name="PROCESSING CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="4"
length="12"
name="AMOUNT, TRANSACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="5"
length="12"
name="Amount, Reconciliation"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="6"
length="12"
name="Amount, Cardholder billing"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="7"
length="10"
name="TRANSMISSION DATE AND TIME"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="8"
length="8"
name="Amount, Cardholder billing fee"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="9"
length="8"
name="Conversion rate, Reconciliation"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="10"
length="8"
name="Conversion rate, Cardholder billing"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="11"
length="6"
name="SYSTEM TRACE AUDIT NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="12"
length="12"
name="DATE TIME, LOCAL TRANSACTION YYMMDDhhmmss"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="13"
length="4"
name="Date, Effective"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="14"
length="4"
name="DATE, EXPIRATION YYMM"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="15"
length="6"
name="DATE, SETTLEMENT YYMMDD"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="16"
length="4"
name="Date, Conversion"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="17"
length="4"
name="Date, Capture"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="18"
length="4"
name="Merchant type"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="19"
length="3"
name="ACQUIRING INSTITUTION COUNTRY CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="20"
length="3"
name="Country code, Primary account number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="21"
length="3"
name="Country code, Forwarding institution"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="22"
length="12"
name="POINT OF SERVICE ENTRY MODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="23"
length="3"
name="CARD SEQUENCE NUMBER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="24"
length="3"
name="NETWORK INTERNATIONAL IDENTIFIEER"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="25"
length="4"
name="Message reason code"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="26"
length="4"
name="Card Acceptor Business Code"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="27"
length="1"
name="Approval code length"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="28"
length="6"
name="Date, Reconciliation"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="29"
length="3"
name="Reconciliation indicator"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="30"
length="24"
name="Amounts, original"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="31"
length="99"
name="Acquirer reference data"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="32"
length="11"
name="ACQUIRING INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="33"
length="11"
name="FORWARDING INSTITUTION IDENT CODE"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="34"
length="28"
name="Primary account number, extended"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="35"
length="37" name="TRACK 2 DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="36"
length="104"
name="Track 3 data"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="37"
length="12"
name="RETRIEVAL REFERENCE NUMBER"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="38"
length="6"
name="Approval code"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="39"
length="3"
name="RESPONSE CODE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="40"
length="3"
name="Service code"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="41"
length="8"
name="CARD ACCEPTOR TERMINAL IDENTIFICACION"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="42"
length="15"
name="Card acceptor identification code"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="43"
length="40"
name="CARD ACCEPTOR NAME/LOCATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="44"
length="99"
name="Additional response data"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="45"
length="76"
name="Track 1 data"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="46"
length="204"
name="Amounts, Fees"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="47"
length="999"
name="Additional data - national"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="48"
length="999"
name="Additional data - private"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="49"
length="3"
name="CURRENCY CODE, TRANSACTION"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="50"
length="3"
name="Currency code, Reconciliation"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="51"
length="3"
name="Currency code, Cardholder billing"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="52"
length="8"
name="PIN DATA"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="53"
length="48"
name="Security related control information"
class="org.jpos.iso.IFA_LLBINARY"/>
<isofield
id="54"
length="120"
name="ADDITIONAL AMOUNTS"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="55"
length="999"
name="ICC Data"
class="org.jpos.iso.IFA_LLLBINARY"/>
<isofield
id="56"
length="35"
name="Original Data Elements"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="57"
length="3"
name="Authorization life cycle code"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="58"
length="11"
name="Authorizing agent institution Id Code"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="59"
length="999"
name=" Transport Data"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="60"
length="999"
name="Point of Service Device Type"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="61"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="62"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="63"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="64"
length="8"
name="Message authentication code field"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="65"
length="8"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_BINARY"/>
<isofield
id="66"
length="204"
name="Amounts, original fees"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="67"
length="2"
name="Extended payment data"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="68"
length="3"
name="Country code, receiving institution"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="69"
length="3"
name="Country code, settlement institution"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="70"
length="3"
name="NETWORK MANAGEMENT INFORMATION CODE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="71"
length="8"
name="Message number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="72"
length="999"
name="Data record"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="73"
length="6"
name="Date, action"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="74"
length="10"
name="Credits, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="75"
length="10"
name="Credits, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="76"
length="10"
name="Debits, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="77"
length="10"
name="Debits, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="78"
length="10"
name="Transfer, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="79"
length="10"
name="Transfer, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="80"
length="10"
name="Inquiries, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="81"
length="10"
name="Authorizations, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="82"
length="10"
name="Inquiries, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="83"
length="10"
name="Payments, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="84"
length="10"
name="Payments, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="85"
length="10"
name="Fee collections, number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="86"
length="16"
name="Credits, amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="87"
length="16"
name="Credits, reversal amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="88"
length="16"
name="Debits, amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="89"
length="16"
name="Debits, reversal amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="90"
length="10"
name="Authorizations, reversal number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="91"
length="3"
name="Country code, transaction Dest. Inst."
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="92"
length="3"
name="Country code, transaction Orig. Inst."
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="93"
length="11"
name="Transaction Destination Institution ID Code"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="94"
length="11"
name="Transaction Originator Institution ID Code"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="95"
length="99"
name="Card issuer reference data"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="96"
length="999"
name="Key management data"
class="org.jpos.iso.IFA_LLLBINARY"/>
<isofield
id="97"
length="17"
name="Amount, Net reconciliation"
class="org.jpos.iso.IFA_AMOUNT"/>
<isofield
id="98"
length="25"
name="Payee"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="99"
length="11"
name="Settlement institution Id code"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="100"
length="11"
name="Receiving Institution ID Code"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="101"
length="17"
name="File name"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="102"
length="28"
name="ACCOUNT IDENTIFICATION 1"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="103"
length="28"
name="ACCOUNT IDENTIFICATION 2"
class="org.jpos.iso.IFA_LLNUM"/>
<isofield
id="104"
length="100"
name="Transaction description"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="105"
length="16"
name="Credits, Chargeback amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="106"
length="16"
name="Debits, Chargeback amount"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="107"
length="10"
name="Credits, Chargeback number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="108"
length="10"
name="Debits, Chargeback number"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="109"
length="84"
name="Credits, Fee amounts"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="110"
length="84"
name="Debits, Fee amounts"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="111"
length="999"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="112"
length="999"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="113"
length="999"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="114"
length="999"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="115"
length="999"
name="Reserved for ISO use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="116"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="117"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="118"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="119"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="120"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="121"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="122"
length="999"
name="Reserved for national use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="123"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="124"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="125"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="126"
length="999"
name="Reserved for private use"
class="org.jpos.iso.IFA_LLLCHAR"/>

<isofieldpackager
id="127"
length="99999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFA_LLLLLCHAR"
packager="org.jpos.iso.packager.GenericSubFieldPackager">
<isofield
id="0"
length="0"
name="PLACEHOLDER"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="1"
length="8"
name="BITMAP"
class="org.jpos.iso.IFB_BITMAP"/>
<isofield
id="2"
length="32"
name="SWITCH KEY"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="3"
length="48"
name="ROUTING INFORMATION"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="4"
length="22"
name="POS DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="5"
length="73"
name="SERVICE STATION DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="6"
length="2"
name="AUTHORIZATION PROFILE"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="7"
length="50"
name="CHECK DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="8"
length="128"
name="RETENTION DATA"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="9"
length="255"
name="ADDITIONAL NODE DATA"
class="org.jpos.iso.IFA_LLLCHAR"/>
<isofield
id="10"
length="3"
name="CVV2"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="11"
length="32"
name="ORIGINAL KEY"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="12"
length="25"
name="TERMINAL OWNDER"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="13"
length="17"
name="POS GEOGRAPHIC DATA"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="14"
length="8"
name="SPONSOR BANK"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="15"
length="29"
name="AVS REQUEST"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="16"
length="1"
name="AVS RESPONSE"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="17"
length="50"
name="CARDHOLDER INFORMATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="18"
length="50"
name="VALIDATION DATA"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="19"
length="45"
name="BANK DETAILS"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="20"
length="8"
name="AUTHORIZER DATE SETTLEMENT"
class="org.jpos.iso.IFA_NUMERIC"/>
<isofield
id="21"
length="12"
name="RECORD IDENTIFICATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="22"
length="99999"
name="STRUCTURED DATA"
class="org.jpos.iso.IFA_LLLLLCHAR"/>
<isofield
id="23"
length="253"
name="PAYEE NAME AND ADDRESS"
class="org.jpos.iso.IF_CHAR"/>
<isofield
id="24"
length="28"
name="PAYER ACCOUNT INFORMATION"
class="org.jpos.iso.IFA_LLCHAR"/>
<isofield
id="25"
length="8000"
name="ICC DATA"
class="org.jpos.iso.IFA_LLLLCHAR"/>
<isofield
id="26"
length="20"
name="ORIGINAL NODE"
class="org.jpos.iso.IFA_LLCHAR"/>
</isofieldpackager>

<isofield
id="128"
length="8"
name="Message authentication code field"
class="org.jpos.iso.IFB_BINARY"/>
</isopackager>

I am getting this error:

x<isomsg>
x  <!-- org.jpos.iso.packager.GenericPackager[cfg/packager/zim.xml] -->
x  <field id="0" value="1210"/>
x  <field id="2" value="6393121010639728"/>
x  <field id="3" value="270000"/>
x  <field id="4" value="000000000200"/>
x  <field id="7" value="0923101514"/>
x  <field id="11" value="199020"/>
x  <field id="12" value="000000141043"/>
x  <field id="13" value="1104"/>
x  <field id="15" value="211104"/>
x  <field id="22" value="000000000000"/>
x  <field id="25" value="0000"/>
x  <field id="26" value="0012"/>
x  <field id="32" value="601237"/>
x  <field id="37" value="130814071681"/>
x  <field id="39" value="908"/>
x  <field id="41" value="METB9003"/>
x  <field id="42" value="639312000009003"/>
x  <field id="43" value="METBANK Mobile NetOne  Harare       ZWZW"/>
x  <field id="49" value="932"/>
x  <field id="59" value="L00011882350"/>
x  <field id="100" value="504987"/>
x  <field id="103" value="0000020000325"/>
x  <field id="123" value="060000265000121"/>
x</isomsg>
org.jpos.iso.ISOException: org.jpos.iso.IF_CHAR: Problem unpacking field 3 (java.lang.StringIndexOutOfBoundsException: offset 8, count 9, length 9) unpacking field=127, consumed=261

    at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:341)
    at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:479)

murtuza chhil

unread,
Nov 6, 2021, 2:31:44 AM11/6/21
to jPOS Users
Compare your packager with the postpack.xml provided by jpos https://github.com/jpos/jPOS/blob/master/jpos/src/dist/cfg/packager/postpack.xml

See if the standard one works or not and if it does see what you have changed in your custom packager and try fixing it.

-chhil

Mapfunde Venon

unread,
Nov 7, 2021, 8:48:56 AM11/7/21
to jpos-...@googlegroups.com

x<isomsg>
x  <!-- org.jpos.iso.packager.GenericPackager[cfg/packager/postpack1.xml] -->

x  <field id="0" value="1210"/>
x  <field id="2" value="6393121010639728"/>
x  <field id="3" value="270000"/>
x  <field id="4" value="000000000200"/>
x  <field id="7" value="0923101514"/>
x  <field id="11" value="199020"/>
x  <field id="12" value="000000"/>
x  <field id="13" value="1517"/>
x  <field id="15" value="5811"/>
x  <field id="22" value="042"/>
x  <field id="25" value="11"/>
x  <field id="26" value="10"/>
x</isomsg>
org.jpos.iso.ISOException: org.jpos.iso.IFA_LLNUM: Problem unpacking field 32 (org.jpos.iso.ISOException: Field length 40 too long. Max: 11) unpacking field=32, consumed=93

Venon Mapfunde(PMP,Msc Software Engineering,Bsc Computer Science & Mathematics)
Tel:+263 775 091 262
Email:taka...@gmail.com
Skype: venon.mapfunde

You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/f76add7e-24d9-4019-a657-26d3a62b8341n%40googlegroups.com.

murtuza chhil

unread,
Nov 7, 2021, 11:46:15 PM11/7/21
to jPOS Users

Make sure all the data for the fields parsed up to the exception are correct and as expected. If not fix packager for field(s) that have incorrect data.

This is the hexdump of your message.

      0000  31 32 31 30 F2 3A 04 C1  0A E0 80 20 00 00 00 00  1210.:..... ....

0010  12 00 00 22 31 36 36 33  39 33 31 32 31 30 31 30  ..."166393121010

0020  36 33 39 37 32 38 32 37  30 30 30 30 30 30 30 30  6397282700000000

0030  30 30 30 30 30 32 30 30  30 39 32 33 31 30 31 35  0000020009231015

0040  31 34 31 39 39 30 32 30  30 30 30 30 30 30 31 34  1419902000000014

0050  31 30 34 33 31 31 30 34  32 31 31 31 30 34 30 30  1043110421110400

0060  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  0000000000000000

0070  31 32 30 36 36 30 31 32  33 37 31 33 30 38 31 34  1206601237130814

0080  30 37 31 36 38 31 39 30  38 4D 45 54 42 39 30 30  071681908METB900

0090  33 36 33 39 33 31 32 30  30 30 30 30 39 30 30 33  3639312000009003

00a0  34 30 4D 45 54 42 41 4E  4B 20 4D 6F 62 69 6C 65  40METBANK Mobile

00b0  20 4E 65 74 4F 6E 65 20  20 48 61 72 61 72 65 20   NetOne  Harare 

00c0  20 20 20 20 20 20 5A 57  5A 57 39 33 32 30 31 32        ZWZW932012

00d0  4C 30 30 30 31 31 38 38  32 33 35 30 30 36 35 30  L000118823500650

00e0  34 39 38 37 31 33 30 30  30 30 30 32 30 30 30 30  4987130000020000

00f0  33 32 35 30 31 35 30 36  30 30 30 30 32 36 35 30  3250150600002650

0100  30 30 31 32 31 30 30 30  30 39 35 00 00 04 00 00  00121000095.....

0110  00 00 00                                          ...

Based on the output the data gets parse till DE26. From the hexdump it the line that ends with 1110400 [DE25 = 11, DE26=10].
The next bit of information is for DE32, which is defined in the packager as IFA_LLNUM and can have a max length of 11.
The LL in the hexdump is 40 which is wrong and its possible we reached this point of failure because some previous fields were not configured correctly in the packager.
Go field by field starting with bitmap packager to see if you have them configured based on the spec you have. Maybe the out of box packager will not work for you and you will have to define packager for fields yourself.


0050  31 30 34 33 31 31 30 34  32 31 31 31 30 34 30 30  1043110421110400
0060  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  0000000000000000
0070  31 32 30 36 36 30 31 32  33 37 31 33 30 38 31 34  1206601237130814



Next, we try your packager.
It throws an exception after

x  <field id="123" value="060000265000121"/>

From the hexdump at that point, we see that LLLLL for DE127 is 00009 .

0100  30 30 31 32 31 30 30 30  30 39 35 00 00 04 00 00  00121000095.....  0110  00 00 00                                          ...

The Bitmap is 35000004
35 = 0011 0101 [bits 3,4,6,8 set]
00 = 0000 0000
00 = 0000 0000
04 = 0000 0100 [bit 30 set]

You have DE 127.3 configured as fixed 48 rand thee isn’t aren't 48 bytes of  data in the message to get. 
You will need to correct your 127 subfield packagers  (bitmap and field) based on the specification you ae working with

-chhil

Reply all
Reply to author
Forward
0 new messages