问题描述:
如下图所示,交通银行回单下载失败,提示:失败流程节点-下载前预处理中:2: No such file ……
2022-10-28 16:00:02.313 INFO [BOCOM_DC,,1585662611247071232] 16940 --- [pool-2-thread-11] c.k.bos.receiptmanage.util.SFTPUtils : 准备建立SFTP连接。
2022-10-28 16:00:02.448 INFO [BOCOM_DC,,1585662611247071232] 16940 --- [pool-2-thread-11] c.k.bos.receiptmanage.util.SFTPUtils : 建立SFTP连接成功。
2022-10-28 16:00:02.452 INFO [BOCOM_DC,,1585662611247071232] 16940 --- [pool-2-thread-11] c.k.bos.receiptmanage.util.SFTPUtils : 关闭SFTP连接成功
2022-10-28 16:00:02.453 INFO [BOCOM_DC,,1585662611247071232] 16940 --- [pool-2-thread-11] c.k.b.r.r.atom.AbstractReceiptListFlow : 执行获取列表过程发生异常。
com.kingdee.bos.receiptmanage.receipt.exception.ReceiptException: 2: No such file
at com.kingdee.bos.bank.bocom.dc.job.BocomDcFetchListJob.doJob(BocomDcFetchListJob.java:188)
at com.kingdee.bos.receiptmanage.receipt.atom.AbstractReceiptListFlow.doTask(AbstractReceiptListFlow.java:137)
at com.kingdee.bos.receiptmanage.receipt.atom.AbstractReceiptListFlow.access$000(AbstractReceiptListFlow.java:29)
at com.kingdee.bos.receiptmanage.receipt.atom.AbstractReceiptListFlow$MyTask.run(AbstractReceiptListFlow.java:328)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.jcraft.jsch.SftpException: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2225)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2242)
at com.jcraft.jsch.ChannelSftp.stat(ChannelSftp.java:2199)
at com.kingdee.bos.bank.bocom.dc.job.BocomDcFetchListJob.doJob(BocomDcFetchListJob.java:103)
分析解答:
从回单日志看,SFTP连接成功,但是在获取文件列表过程中发生异常,提示No such file。现场用winscp连sftp后,在sftp根目录下可以看到回单文件的(.zip格式),打开sftp根目录也可以看到回单文件,如下图:
检查现场的配置,银行配置这里,sftp可以可以连通;但“交通银行客户号”配置的有问题,如图所示,关于这个配置项,有个配置说明:
客户号(这里的客户号是指回单文件名下划线前的数字。例如回单文件名是123456_20220216.zip,客户号就是123456)
现场配置的不对,应该配置上图.zip文件中下划线前边的部分,即“0115688001347848”。现场配置为了银企平台-前置机那里的企业用户号。
修改之后保存配置,重启回单模块,再去下载回单,下载成功了。
推荐阅读