java - 我不断收到错误“org.jpos.iso.ISOException:未找到关键字段 - 未发送 pd-channel-send.120”。请看我的实现
问题描述
我不断收到错误“org.jpos.iso.ISOException:未找到关键字段 - 未发送 pd-channel-send.120”。请看我的实现。
这是我的频道适配器 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());
}
任何帮助将不胜感激
解决方案
推荐阅读
- excel - 一次将多个数据导出到 MS PROJECT - Array
- java - 将整个数组添加到链表
- sql - 基于 1-N 关系将表格彼此相邻对齐
- google-analytics - PAYU 支付网关 Google Analytics 推荐问题
- r - rvest/httr:自动从 nestar 网页下载
- swift - UITableView - 删除带有动画的行
- raku - 如果路径包含非拉丁字符则出错
- javascript - 使用 CSS 或 JavaScript 关闭输入的自动更正
- javascript - 如何在 mLab 中导入和使用 firebase 导出的数据库?
- visual-studio-code - VSCode 扩展。如何在右键单击时选择树视图项