F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F
6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1
F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0
I want to create two functions
1> praseMessage(String strMsg)
where input
strMsg="F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0"
Expected outcome
Field 2 = 577946170861008
Field 3 = 000000
Field 4 = 000000035000
Field 11 = 047917
Field 12 = 060309074733
Field 22 = 361101201140
Field 24 = 300
Field 26 = 8011
Field 32 = 676122
Field 35 = 577946170861008=0612031281999
Field 37 = 4203
Field 41 = 70707247
Field 42 = 000009590217781
Field 49 = 975
Field 93 = 000000
Field 94 = 000000
2> String createMessage(String xmlFile)
where input
xmlFile is string which contains following values as xml.
Field 2 = 577946170861008
Field 3 = 000000
Field 4 = 000000035000
Field 11 = 047917
Field 12 = 060309074733
Field 22 = 361101201140
Field 24 = 300
Field 26 = 8011
Field 32 = 676122
Field 35 = 577946170861008=0612031281999
Field 37 = 4203
Field 41 = 70707247
Field 42 = 000009590217781
Field 49 = 975
Field 93 = 000000
Field 94 = 000000
Expected Outcome
strMsg="F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0"
Any help Appreciated. Please provide configuration details also .I am
new to jpos.
Well i am in the analysis phase to check this product is suitable for
my application.Once it is finalized i will be ordering the guide.
How can i constuct raw message from str .? It is a byte array and not
a sting.
I am getting file not found error even if the file present in the
location . What could be the reason.?
com.message.iso.ISOException: org.xml.sax.SAXParseException: File
"C:/JPOS/jpos/src/config/packager/isotest.xml" not found.
(org.xml.sax.SAXParseException: File
"C:/JPOS/jpos/src/config/packager/amex.xml" not found.)
try {
p = new
GenericPackager("C:/JPOS/jpos/src/config/packager/isotest.xml");
ISOMsg m = new ISOMsg();
m.setPackager(p);
String str=
"F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0";
//m.unpack (str);
//System.out.println("Test by patrick"+ m.getValue(2));
}
Thanks in advance
patick
Now I am getting following error . But the field 55 is not present in
the bitmap. Any help appreciated. The code & xml pasted below the
error message.
Error
------
error unpacking field 55
com.message.iso.ISOException: com.message.iso.IFB_LLLCHAR: Problem
unpacking field 55 (java.lang.ArrayIndexOutOfBoundsException: 370)
at
com.message.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:209)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main(TestISOMSG.java:185)
Nested:java.lang.ArrayIndexOutOfBoundsException: 370
at
com.message.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:88)
at
com.message.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:204)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main(TestISOMSG.java:185)
com.message.iso.ISOException: com.message.iso.IFB_LLLCHAR: Problem
unpacking field 55 (java.lang.ArrayIndexOutOfBoundsException: 370)
at
com.message.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:209)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main(TestISOMS
Pls find the code potion given below.
------------------------------------------------
GenericPackager p;
try {
p = new
GenericPackager("C:/JPOS/jpos/src/config/packager/isotest.xml");// Iso
test is pasted below/
ISOMsg m = new ISOMsg();
m.setPackager(p);
String
str="F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0";
m.unpack (str.getBytes());
System.out.println("Test by patrick"+ m.getValue(2));
}
catch (ISOException e)
{
e.printStackTrace();
}
ISOTest.xml
-----------------
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE
isopackager SYSTEM
"genericpackager.dtd"><isopackager><isofield id="0" length="4"
name="MESSAGE TYPE INDICATOR" pad="true"
class="org.jpos.iso.IFE_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"
pad="false"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="3"
length="6"
name="PROCESSING CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="4"
length="12"
name="AMOUNT, TRANSACTION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="5"
length="12"
name="AMOUNT, SETTLEMENT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="6"
length="12"
name="AMOUNT, CARDHOLDER BILLING"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="7"
length="10"
name="TRANSMISSION DATE AND TIME"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="8"
length="8"
name="AMOUNT, CARDHOLDER BILLING FEE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="9"
length="8"
name="CONVERSION RATE, SETTLEMENT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="10"
length="8"
name="CONVERSION RATE, CARDHOLDER BILLING"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="11"
length="6"
name="SYSTEM TRACE AUDIT NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="12"
length="12"
name="DATE AND TIME, LOCAL TRANSACTION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="13"
length="4"
name="DATE, EFFECTIVE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="14"
length="4"
name="DATE, EXPIRATION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="15"
length="6"
name="DATE, SETTLEMENT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="16"
length="4"
name="DATE, CONVERSION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="17"
length="4"
name="DATE, CAPTURE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="18"
length="4"
name="MERCHANTS TYPE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="19"
length="3"
name="ACQUIRING INSTITUTION COUNTRY CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="20"
length="3"
name="PAN EXTENDED COUNTRY CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="21"
length="3"
name="FORWARDING INSTITUTION COUNTRY CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="22"
length="12"
name="POINT OF SERVICE DATA CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="23"
length="3"
name="CARD SEQUENCE NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="24"
length="3"
name="FUNCTION CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="25"
length="4"
name="MESSAGE REASON CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="26"
length="4"
name="CARD ACCEPTOR BUSINESS CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="27"
length="1"
name="AUTHORIZATION IDENTIFICATION RESP LEN"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="28"
length="9"
name="AMOUNT, TRANSACTION FEE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="29"
length="9"
name="AMOUNT, SETTLEMENT FEE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="30"
length="24"
name="AMOUNT, ORIGINAL"
pad="true"
class="org.jpos.iso.IFE_NUMERIC">
</isofield>
<isofield
id="31"
length="48"
name="ACQUIRER REFERENCE DATA"
class="org.jpos.iso.IFE_LLCHAR">
</isofield>
<isofield
id="32"
length="11"
name="ACQUIRING INSTITUTION IDENT CODE"
pad="false"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="33"
length="11"
name="FORWARDING INSTITUTION IDENT CODE"
pad="false"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="34"
length="28"
name="PAN EXTENDED"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="35"
length="37"
name="TRACK 2 DATA"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="36"
length="104"
name="TRACK 3 DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="37"
length="12"
name="RETRIEVAL REFERENCE NUMBER"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="38"
length="6"
name="AUTHORIZATION IDENTIFICATION RESPONSE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="39"
length="3"
name="RESPONSE CODE"
class="org.jpos.iso.IFE_CHAR">
</isofield>
<isofield
id="40"
length="3"
name="SERVICE RESTRICTION CODE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="41"
length="8"
name="CARD ACCEPTOR TERMINAL IDENTIFICACION"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="42"
length="15"
name="CARD ACCEPTOR IDENTIFICATION CODE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="43"
length="99"
name="CARD ACCEPTOR NAME/LOCATION"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="44"
length="25"
name="ADITIONAL RESPONSE DATA"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="45"
length="76"
name="TRACK 1 DATA"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="46"
length="999"
name="ADITIONAL DATA - ISO"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="47"
length="287"
name="ADITIONAL DATA - NATIONAL"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="48"
length="40"
name="ADITIONAL DATA - PRIVATE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="49"
length="3"
name="CURRENCY CODE, TRANSACTION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="50"
length="3"
name="CURRENCY CODE, SETTLEMENT"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="51"
length="3"
name="CURRENCY CODE, CARDHOLDER BILLING"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="52"
length="8"
name="PIN DATA"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="53"
length="8"
name="SECURITY RELATED CONTROL INFORMATION"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="54"
length="120"
name="ADDITIONAL AMOUNTS"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="55"
length="255"
name="INTEGRATED CARD CIRCUIT SYSTEM RELATED DATA"
class="org.jpos.iso.IFB_LLLCHAR"/>
<isofield
id="56"
length="35"
name="ORIGINAL DATA ELEMENTS"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="57"
length="3"
name="AUTHORIZATION LIFE CYCLE CODE"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="58"
length="11"
name="AUTHORIZING AGENT INSTITUTION IDENTIFICATION CODE"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="59"
length="99"
name="TRANSPORT DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="60"
length="300"
name="NATIONAL USE DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="61"
length="100"
name="NATIONAL USE DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="62"
length="60"
name="PRIVATE USE DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="63"
length="205"
name="PRIVATE USE DATA"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="64"
length="8"
name="MESSAGE AUTHENTICATION CODE FIELD"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="65"
length="1"
name="BITMAP, EXTENDED"
class="org.jpos.iso.IFB_BINARY"/>
<isofield
id="66"
length="1"
name="SETTLEMENT CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="67"
length="2"
name="EXTENDED PAYMENT CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="68"
length="3"
name="RECEIVING INSTITUTION COUNTRY CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="69"
length="3"
name="SETTLEMENT INSTITUTION COUNTRY CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="70"
length="3"
name="NETWORK MANAGEMENT INFORMATION CODE"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="71"
length="4"
name="MESSAGE NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="72"
length="4"
name="MESSAGE NUMBER LAST"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="73"
length="6"
name="DATE ACTION"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="74"
length="10"
name="CREDITS NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="75"
length="10"
name="CREDITS REVERSAL NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="76"
length="10"
name="DEBITS NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="77"
length="10"
name="DEBITS REVERSAL NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="78"
length="10"
name="TRANSFER NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="79"
length="10"
name="TRANSFER REVERSAL NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="80"
length="10"
name="INQUIRIES NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="81"
length="10"
name="AUTHORIZATION NUMBER"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="82"
length="12"
name="CREDITS, PROCESSING FEE AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="83"
length="12"
name="CREDITS, TRANSACTION FEE AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="84"
length="12"
name="DEBITS, PROCESSING FEE AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="85"
length="12"
name="DEBITS, TRANSACTION FEE AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="86"
length="16"
name="CREDITS, AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="87"
length="16"
name="CREDITS, REVERSAL AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="88"
length="16"
name="DEBITS, AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="89"
length="16"
name="DEBITS, REVERSAL AMOUNT"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="90"
length="42"
name="ORIGINAL DATA ELEMENTS"
pad="true"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="91"
length="1"
name="FILE UPDATE CODE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="92"
length="2"
name="FILE SECURITY CODE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="93"
length="5"
name="RESPONSE INDICATOR"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="94"
length="7"
name="SERVICE INDICATOR"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="95"
length="42"
name="REPLACEMENT AMOUNTS"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="96"
length="18"
name="MESSAGE SECURITY CODE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="97"
length="17"
name="AMOUNT, NET SETTLEMENT"
pad="false"
class="org.jpos.iso.IFE_NUMERIC"/>
<isofield
id="98"
length="25"
name="PAYEE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="99"
length="11"
name="SETTLEMENT INSTITUTION IDENT CODE"
pad="false"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="100"
length="11"
name="RECEIVING INSTITUTION IDENT CODE"
pad="false"
class="org.jpos.iso.IFE_LLNUM"/>
<isofield
id="101"
length="17"
name="FILE NAME"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="102"
length="28"
name="ACCOUNT IDENTIFICATION 1"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="103"
length="28"
name="ACCOUNT IDENTIFICATION 2"
class="org.jpos.iso.IFE_LLCHAR"/>
<isofield
id="104"
length="100"
name="TRANSACTION DESCRIPTION"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="105"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="106"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="107"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="108"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="109"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="110"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="111"
length="999"
name="RESERVED ISO USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="112"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="113"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="114"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="115"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="116"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="117"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="118"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="119"
length="999"
name="RESERVED NATIONAL USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="120"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="121"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="122"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="123"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="124"
length="3"
name="DEBIT FUNCTION CODE"
class="org.jpos.iso.IFE_CHAR"/>
<isofield
id="125"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="126"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="127"
length="999"
name="RESERVED PRIVATE USE"
class="org.jpos.iso.IFE_LLLCHAR"/>
<isofield
id="128"
length="8"
name="MAC 2"
class="org.jpos.iso.IFB_BINARY"/>
</isopackager>
I could solve sax error by replacing the xerces.jar .
Now I am getting following error . But the field 55 is not present in
the bitmap. Any help appreciated. The code & xml pasted below the
error message.
Error
------
error unpacking field 55
com.message.iso.ISOException: com.message.iso.IFB_LLLCHAR: Problem
unpacking field 55 (java.lang.ArrayIndexOutOfBoundsException: 370)
at
com.message.iso.ISOStringFieldPackager.unpack (ISOStringFieldPackager.java:209)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main (TestISOMSG.java:185)
Nested:java.lang.ArrayIndexOutOfBoundsException: 370
at
com.message.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:88)
at
com.message.iso.ISOStringFieldPackager.unpack (ISOStringFieldPackager.java:204)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main (TestISOMSG.java:185)
com.message.iso.ISOException: com.message.iso.IFB_LLLCHAR: Problem
unpacking field 55 (java.lang.ArrayIndexOutOfBoundsException: 370)
at
com.message.iso.ISOStringFieldPackager.unpack (ISOStringFieldPackager.java:209)
at com.message.iso.ISOBasePackager.unpack(ISOBasePackager.java:234)
at com.message.iso.ISOMsg.unpack(ISOMsg.java:267)
at com.message.iso.gui.TestISOMSG.main (TestISOMS
> GenericPackager p;
> try {
> p = new
> GenericPackager("C:/JPOS/jpos/src/config/packager/isotest.xml");// Iso
> test is pasted below/
> ISOMsg m = new ISOMsg();
> m.setPackager(p);
> String
> str="F2F2F0F0F030054128C080000000000C00000000F1F5F5F7F7F9F4F6F1F7F0F8F6F1F0F0F8F0F0F0F0F0F0F0F0F0F0F0F0F0F3F5F0F0F0F0F4F7F9F1F7F0F6F0F3F0F9F0F7F4F7F3F3F3F6F1F1F0F1F2F0F1F1F4F0F3F0F0F8F0F1F1F0F6F6F7F6F1F2F2F2F9F5F7F7F9F4F6F1F7F0F8F6F1F0F0F87EF0F6F1F2F0F3F1F2F8F1F9F9F9F4F2F0F34040404040404040F7F0F7F0F7F2F4F7F0F0F0F0F0F9F5F9F0F2F1F7F7F8F1F9F7F5F0F6F0F0F0F0F0F0F0F6F0F0F0F0F0F0";
> m.unpack (str.getBytes());
Here is the problem...
you need to :-
byte[] rawMessage = ISOUtil.hex2byte(str);
m.unpack(rawMessage);
Otherwise your MTI is F2F2 and your 'bitmap' starts F0F0F030054...
(possibly including field 55 (and others))
> System.out.println("Test by patrick"+ m.getValue(2));
To see a quick view of the message (data), try :-
m.dump(System.out,"");
--
Mark
Once again thanks to chhil , ur quick response helped me a lot.
Thanks & Regards
Patrick....