Chhil,
my problem is this....
when i use the header, i can't recieve my response...
this is a extract of my client....
private final static String HEADER = "ISO025300040";
BaseHeader db = new BaseHeader(HEADER.getBytes());
db.setDestination("127.0.0.1");
db.setSource("127.0.0.1");
msgiso.setHeader(db);
msgiso.setMTI("200");
msgiso.set("2", "161234567890123456");
msgiso.set("3", "140000");
msgiso.set("4", "000000100000");
msgiso.set("7", "1219171316");
msgiso.set("11", "058169");
msgiso.set("12", "111316");
msgiso.set("13", "1219");
msgiso.set("14", "0901");
msgiso.set("17", "1219");
msgiso.set("22", "010");
etc......etc.....
in my server, i don't use Q2...........
import java.awt.BorderLayout;
import java.io.IOException;
import java.util.Observable;
import ni.com.banex.listener.VasaListenerBanex;
import ni.com.banex.ui.PanelVasa;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOServer;
import org.jpos.iso.ServerChannel;
import org.jpos.iso.channel.BASE24Channel;
import org.jpos.iso.gui.ISOChannelPanel;
import org.jpos.iso.packager.GenericPackager;
import org.jpos.util.Logger;
import org.jpos.util.SimpleLogListener;
import org.jpos.util.ThreadPool;
public class ISOServerInit implements Runnable {
private static ISOChannelPanel channelPanel;
static Observable observer;
static VasaListenerBanex vs = new VasaListenerBanex();
private static PanelVasa palen2;
BASE24Channel clientSideChannel = null;
Logger logger = new Logger();
public static void main(String args[]) {
try {
ISOServerInit panel = new ISOServerInit();
palen2 = new PanelVasa(vs);
new Thread(panel).start();
} catch (Exception e) {
System.out.println("Error ISO SERVER->" + e);
}
}
public void run() {
logger.addListener(new SimpleLogListener(System.out));
try {
clientSideChannel = new BASE24Channel(new GenericPackager(
"cfg/packager/base24.xml"));
clientSideChannel.setName("channel-side");
clientSideChannel.setLogger(logger, "channel-side");
} catch (IOException ex) {
System.out.println("Error ISO SERVER->" + ex);
} catch (ISOException e) {
System.out.println("Error ISO SERVER->" + e);
}
new Thread(createServer()).start();
}
private ISOServer createServer() {
ThreadPool pool = new ThreadPool(5, 30);
pool.setLogger(logger, "iso-server-pool");
clientSideChannel.setHeader("ISO025300040".getBytes());
ISOServer server = new ISOServer(8000,
(ServerChannel) clientSideChannel, pool);
server.setName("iso-server");
server.setLogger(logger, "iso-server");
server.addISORequestListener(vs);
channelPanel = createChannelPanel();
palen2.setLayout(new BorderLayout());
palen2.add(channelPanel);
server.addObserver(channelPanel);
return server;
}
private ISOChannelPanel createChannelPanel() {
Logger logger = new Logger();
logger.addListener(new SimpleLogListener(System.out));
return new ISOChannelPanel(clientSideChannel, "localhost:8000");
}
}
this is my result......
<receive>
<isomsg direction="incoming">
<header>49534F303235333030303430</header>
<field id="0" value="0200"/>
<field id="2" value="161234567890123456"/>
<field id="3" value="400000"/>
<field id="4" value="000000060050"/>
<field id="7" value="0122040226"/>
<field id="11" value="058910"/>
<field id="12" value="100747"/>
<field id="13" value="0813"/>
<field id="14" value="0903"/>
<field id="17" value="0501"/>
<field id="22" value="011"/>
<field id="25" value="01"/>
<field id="32" value="06289000"/>
<field id="35" value="0202"/>
<field id="37" value="848277058910"/>
<field id="41" value="66778899 "/>
<field id="42" value="BANKNAM "/>
<field id="43" value="BANKNAMSD CITYNAME NA"/>
<field id="48" value="044 "/>
<field id="49" value="840"/>
<field id="55" value="003777"/>
<field id="60" value="01288889999+000"/>
<field id="61" value="0130000PRO10000P"/>
<field id="62" value="006505050"/>
<field id="100" value="06101010"/>
<field id="120" value="033CITYDS TISCCITY"/>
</isomsg>
</receive>
<send>
<isomsg direction="outgoing">
<header>49534F303235333030303430</header>
<field id="0" value="0210"/>
<field id="2" value="161234567890123456"/>
<field id="3" value="010000"/>
<field id="4" value="000000100000"/>
<field id="7" value="1219170713"/>
<field id="11" value="058130"/>
<field id="12" value="110713"/>
<field id="13" value="1219"/>
<field id="14" value="0903"/>
<field id="17" value="1219"/>
<field id="22" value="011"/>
<field id="25" value="01"/>
<field id="32" value="06289000"/>
<field id="35" value="0202"/>
<field id="37" value="027277058130"/>
<field id="38" value="003304"/>
<field id="39" value="00"/>
<field id="41" value="NANCAJ02 "/>
<field id="42" value="BANKNAM "/>
<field id="43" value="BANKNAMSD CITYNAME NA"/>
<field id="44" value="254000000000000000000100000"/>
<field id="48" value="044ASCAR ARMANDO PEREZ SANDOVAL "/>
<field id="49" value="558"/>
<field id="55" value="003777"/>
<field id="60" value="0130000PRO10000P"/>
<field id="61" value="0130000PRO10000P"/>
<field id="62" value="006505050"/>
<field id="100" value="06289000"/>
<field id="102" value="280002383112 "/>
<field id="103" value="28 "/>
<field id="120" value="033CITYDS TISCCITY"/>
</isomsg>
</send>
---------------------------------
log realm="iso-server.session/
127.0.0.1" at="Sun Mar 15 22:08:34 CST 2009.418">
<session-start/>
</log>
error unpacking field 100
org.jpos.iso.ISOException: org.jpos.iso.IFA_LLNUM: Problem unpacking field 100 (java.lang.NegativeArraySizeException)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:178)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:233)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:342)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:844)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:615)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:144)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)
Nested:java.lang.NegativeArraySizeException
at org.jpos.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:53)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:173)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:233)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:342)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:844)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:615)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:144)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)
<log realm="channel-side/
127.0.0.1:53192" at="Sun Mar 15 22:08:34 CST 2009.455">
<receive>
<iso-exception>
org.jpos.iso.IFA_LLNUM: Problem unpacking field 100
<nested-exception>
java.lang.NegativeArraySizeException
at org.jpos.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:53)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:173)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:233)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:342)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:844)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:615)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:144)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)
</nested-exception>
org.jpos.iso.ISOException: org.jpos.iso.IFA_LLNUM: Problem unpacking field 100 (java.lang.NegativeArraySizeException)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:178)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:233)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:342)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:844)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:615)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:144)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)
Nested:java.lang.NegativeArraySizeException
at org.jpos.iso.AsciiInterpreter.uninterpret(AsciiInterpreter.java:53)
at org.jpos.iso.ISOStringFieldPackager.unpack(ISOStringFieldPackager.java:173)
at org.jpos.iso.ISOBasePackager.unpack(ISOBasePackager.java:233)
at org.jpos.iso.ISOMsg.unpack(ISOMsg.java:342)
at org.jpos.iso.BaseChannel.unpack(BaseChannel.java:844)
at org.jpos.iso.BaseChannel.receive(BaseChannel.java:615)
at org.jpos.iso.ISOServer$Session.run(ISOServer.java:144)
at org.jpos.util.ThreadPool$PooledThread.run(ThreadPool.java:72)
</iso-exception>