i keep getting an error "org.jpos.iso.ISOException: Key fields not found - not sending pd-channel-send.120". Kindly see my implementation.
this is my channel adaptor 10_pd_channel.xml
<?xml version="1.0" encoding="UTF-8"?>
<channel-adaptor name="pd-channel" logger="Q2">
<channel class="org.jpos.iso.channel.ASCIIChannel" type="client" connect="yes" logger="Q2" realm="post-channel" packager="org.jpos.iso.packager.GenericPackager">
<property name="packager-config" value="cfg/pd.xml" />
<property name="host" value="127.0.0.1" />
<property name="port" value="6276" />
<property name="length-digits" value="6" />
<property name="connection-timeout" value="30000" />
<property name="timeout" value="300000" />
</channel>
<in>pd-channel-send</in>
<out>pd-channel-receive</out>
<reconnect-delay>10000</reconnect-delay>
<keep-alive>yes</keep-alive>
</channel-adaptor>
20_pd_mux.xml
<mux class="org.jpos.q2.iso.QMUX" logger="Q2" name="pd-mux">
<in>pd-channel-receive</in>
<out>pd-channel-send</out>
<ready>pd-channel.ready</ready>
<unhandled>pd-unhandled</unhandled>
</mux>
21_pd_q_beans.xml
qmux = (QMUX) NameRegistrar.getIfExists("mux.pd-mux");
log.info("qmux.getName ::: " + qmux.getName());
ISOMsg m = new ISOMsg();
try {
m.setMTI("1200");
m.set(2, transferRequest.getPrimaryAccountNo());
m.set(3, transferRequest.getProcessingCode());
m.set(4, transferRequest.getAmountTransaction());
m.set(11, transferRequest.getStan());
m.set(12, transferRequest.getDatetime());
m.set(14, transferRequest.getDateExpire());
m.set(22, transferRequest.getPosDataCode());
m.set(24, transferRequest.getFunctionCode());
m.set(25, transferRequest.getMsgReasonCode());
m.set(26, transferRequest.getCardAcceptorBusinessCode());
m.set(32, transferRequest.getAcqInstID());
m.set(33, transferRequest.getFwdInstID());
m.set(35, transferRequest.getTrack2Data());
m.set(41, transferRequest.getCardAcceptTerminalId());
m.set(42, transferRequest.getCardAcceptId());
m.set(46, transferRequest.getAmountFees());
m.set(49, transferRequest.getCcyCode());
m.set(72, transferRequest.getDataRecord());
m.set(93, transferRequest.getTrnxDestInstID());
m.set(94, transferRequest.getTrnxOrigInstID());
m.set(100, transferRequest.getRecvInstID());
m.set(126, transferRequest.getAcqReqData());
ISOMsg isoResponse = qmux.request(m, 30 * 1000);
if (isoResponse != null) {
val resp = new String(isoResponse.pack());
}
Any help will be really appreciated