【电子回单】如何查找回单日志?
一、场景描述
银行推送回单的方式为“发请求银行推送回单文件”或者“发请求银行返回文件流”(个别银行除外,例如中国银行)时,如何在回单日志中找到对应的日志?
例如,某客户的长安银行的账号1234567890123456789在2024.4.2号查不到回单。那么,如何通过回单日志来定位是金蝶电子回单代理程序的问题,还是银行的问题?一般来讲,我们可以通过回单日志来精准定位问题原因。
二、如何取回单日志?
在回单平台 - 回单任务列表,选择银行版本、前置机、账号1234567890123456789、回单日期 2024-04-02后,点【查询】,看下列表中的这条任务的处理时间是哪天?
一般来讲,回单日期是2024-04-02的话,那任务的处理时间正常情况下都是2024-04-03,也就是推后一天(如果在银行配置页面设置了“是否获取当日回单”为【是】,那么任务的处理时间也可能是当天)。
如下图所示,账号1234567890123456789、回单日期2024-04-02的这条任务,状态显示“失败”,异常信息显示“失败流程节虑-下酸前预处理中:交易失败,交易返回码[EYQ0E001]当前无回单文件”。其实通过这个异常信息也可以判断出是银行的问题,银行的回单接口响应报文中已经提示了"[EYQ0E001]当前无回单文件"。但是为了更为精准的说明问题原因,需要取2024-04-03的回单日志,找出接口的请求和响应报文发给银行技术人员分析。
如何取日志?可以直接到回单安装目录下取日志文件名称中含2024-04-03的日志,例如ebgproxy.2024-04-03.0.log:
也可以在回单平台 - 日志菜单中过滤日志日期是 2024-04-03的日志,如下图所示(如果业务量大,可能有多个日志文件),点【下载】按钮获取到回单日志。
三、如何找出相关的日志?
金蝶电子回单代理程序是按 银行版本、前置机、账号、回单日期 这个维度去创建回单的任务并对任务进行预处理、下载、扫描调度的。相同银行版本、前置机的话,每个账号、每个回单日期都对应一条回单任务,这个任务的ID在整个任务的生命周期都是保持不变的。
首先,根据账号和交易日期等关键字在回单日志文件中查找到对应的日志,如下:
关键字: 账号:1234567890123456789处理时间:20240402
此时可以看到任务的ID是:1775063036042674176。这个ID是唯一的,一个任务只会有一个ID,即使对任务点击了【重新下载】按钮重新去下载,任务的id依然不变。所以这个ID对应的日志都是这个任务的日志,找到这个ID后可以一步一步往下找回单任务下载的日志。
如下图所示,绿色背景色高亮显示的就是这条任务的ID,只需要关注这个ID所在行的日志即可,其它非这个ID的日志不需要关注。
根据这个ID往下找,找到最后,把日志文件拉到底部,然后往上翻,就能找到接口的请求和响应报文。(也可以从下往上找,找到最后一条再往上翻)。将请求和响应报文找出来,拷贝到另外一个txt文件中,发给银行技术人员分析。
四、拓展
某客户的长安银行的账号1234567890123456789在2024.4.1号有33条交易明细,但是只有19个回单。那么到底是金蝶电子回单代理程序的问题还是银行方的问题导致回单缺失了呢?
在回单平台-回单任务页面,查到账号1234567890123456789、回单日期2024.4.1的任务处理时间是2024.4.2号,那么我们取到日志文件ebgproxy.2024-04-02.0.log,然后通过关键字“账号:1234567890123456789处理时间:20240401”找到任务的ID,如下所示,任务ID是“1774690286908211200”。
2024-04-02 13:00:00.040 INFO [,,1774690286908211200] 15004 --- [pool-3-thread-1] c.k.b.r.r.atom.AbstractReceiptListFlow : 执行第:1 次(共计1)获取回单列表任务。bankLogin: CABC_DC-1, 账号:1234567890123456789处理时间:20240401 2024-04-02 13:00:00.060 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.b.b.cabc.dc.job.CabcDcFetchListJob : ----****----:请求地址:http://xxx.xxx.xxx.xxx:7071/yqbank/APIReqServlet 2024-04-02 13:00:00.060 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.bos.bank.cabc.dc.utils.GetSign : 长安银行签名请求:<?xml version="1.0" encoding="GBK"?> <msg> <msg_head> <msg_type>0</msg_type> <msg_id>1005</msg_id> <msg_sn>0</msg_sn> <version>1</version> </msg_head> <msg_body> <origin_data> <opReq> <opname>ReceiptURLQry</opname> <cstNo>1xxxxxxxxxx9</cstNo> <userNo>1xxxx7</userNo> <serialNo>20240402130000806XX3112</serialNo> <userId>XX</userId> <reqTime>20240402130000</reqTime> <ReqParam> <accountNo>1234567890123456789</accountNo> <qryDate>20240401</qryDate> </ReqParam> </opReq> </origin_data> </msg_body> </msg> 2024-04-02 13:00:00.504 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.bos.bank.cabc.dc.utils.GetSign : 长安银行签名响应:<?xml version="1.0" encoding="UTF-8"?> <msg> <msg_head> <msg_type>1</msg_type> <msg_id>1005</msg_id> <msg_sn>0</msg_sn> <version>1</version> </msg_head> <msg_body> <signed_data>xxxxxxxxxxxxxxxxxxxxxxxUbz+oBOo8kndF+PSfg==</signed_data> </msg_body> </msg> 2024-04-02 13:00:00.505 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.bos.bank.cabc.dc.utils.GetSign : 签名成功. 2024-04-02 13:00:00.506 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.b.b.cabc.dc.job.CabcDcFetchListJob : 长安银行电子回单下载请求: 20240402130000806XX3112000000000000ReceiptURLQry00002044<?xml version="1.0" encoding="GBK"?> <BankData> <Sign> <SignedData>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+oBOo8kndF+PSfg==</SignedData> <PubKey></PubKey> </Sign> <opReq> <opname>ReceiptURLQry</opname> <cstNo>1xxxxxxxxxx9</cstNo> <userNo>1xxxx7</userNo> <serialNo>20240402130000806XX3112</serialNo> <userId>XX</userId> <reqTime>20240402130000</reqTime> <ReqParam> <accountNo>1234567890123456789</accountNo> <qryDate>20240401</qryDate> </ReqParam> </opReq> </BankData> 2024-04-02 13:00:01.098 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.b.b.cabc.dc.job.CabcDcFetchListJob : 长安银行电子回单下载响应: 20240402130000806XX3112000000000000ReceiptURLQry00000349<?xml version="1.0" encoding="GBK" ?> <BankData> <opRep> <serialNo>20240402130000806XX3112</serialNo> <hostReturnCode>00000000</hostReturnCode> <hostErrorMessage/> <RepParam> <downloadURL>aHRXXXXXXXXXXXXXXXXXXXXXMS56aXA=</downloadURL> </RepParam> </opRep> </BankData> 2024-04-02 13:00:01.099 INFO [CABC_DC,,1774690286908211200] 15004 --- [pool-3-thread-29] c.k.b.b.cabc.dc.job.CabcDcFetchListJob : 长安银行电子回单下载地址: https://ebank.ccabchina.com/image/806/yq_receipt/w-l-u-3-L-N/1234567890123456789_20240401.zip
根据任务ID一直往下找,可以看到最后银行下载到的回单是一个压缩文件1234567890123456789_20240401.zip,这个压缩文件会先下载到tempPath目录下。到电子回单服务器的tempPath目录下找到这个文件,编辑打开可以看到压缩包内只有19个pdf回单文件。那么这个问题就需要咨询银行的技术人员了,请提供上述日志,以及这个zip压缩包给银行技术人员分析。
【电子回单】如何查找回单日志?
本文2024-09-22 20:17:29发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-112681.html