【电子回单】招行云直连-扫描调度解压文件失败,导致任务结果显示空
1、问题描述
如下图所示,招行银行云直连的回单任务,预处理完成之后,查看【详情】可以看到文件名。但是等任务下载完成之后,扫描调度结束,点【结果】看到的结果为空。
2、分析解答
通过回单日志看到,在预处理阶段,通过文件下载url(专线访问地址)将回单文件7xxxxxxxxxxxxx42023070811679431992619302912.zip下载到\tempPath\CMB_CMP下,然后又将其移动到\scanPath\CMB_CMP下。
在扫描调度阶段,对scanPath\CMB_CMP下的文件7xxxxxxxxxxxxx42023070811679431992619302912.zip进行解压,报错java.io.IOException: Negative seek offset(见附件)。
在预处理完成后,到\tempPath\CMB_CMP目录下找到下载后的文件,如下:
把这个文件拿过来,双击解压,报错了,如下:
检查配置上都没有问题,但从预处理调度的日志看到互联网访问链接是专线访问;但与现场了解到,该客户的银企服务器和银行服务器之间并没有架设专线,所以怀疑是这里回单文件下载URL有问题。查看接口文档,回单异步打印结果查询(DCTASKID)接口的请求报文字段文件地址类型qwenab的描述如下:
true或者空:生成的url链接为互联网可访问
false:生成的url链接为专线访问地址,(请专线接入客户该值传false)
因此,在银行配置页面将“是否为互联网访问链接”设置为“true”后,再重新下载任务。
待扫描调度结束后,查看【结果】,可以看到扫描结果正常显示了,如下图:
3、附录 - 请求和响应报文
—---------------预处理调度—---------------
2023-07-13 18:05:00.149 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 招商银行无前置机版——电子回单异步查询(ASYCALHD)请求:{"request":{"body":{"begamt":"","begdat":"2023-07-08","eacnbr":"7xxxxxxxxxxxxx4","endamt":"","enddat":"2023-07-08","primod":"PDF","rrccod":"","rrcflg":"1"},"head":{"funcode":"ASYCALHD","reqid":"202307131805001321679431724586500096","userid":"Nxxxxxxxx5"}},"signature":{"sigdat":"JehKqSgEcfmN42+vVuGNkZNtkRARlxL7h53S3CspGy3ngNC8bOAm5qUSXczgKD+OGiLisSkGKPVroXafyqEz+A==","sigtim":"20230713180500"}}
2023-07-13 18:05:00.168 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.util.PostUtil : 访问的银行地址:http://cdctest.cmburl.cn/cdcserver/api/v2
2023-07-13 18:05:03.426 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 招商银行无前置机版——电子回单异步查询(ASYCALHD)响应:{"response":{"body":{"asycalhdz1":{"rtncod":"SUC0000","rtndat":"hwFdKlStbpeUF11qepzEthUONgrlAdEc1IP959djkS8=","rtnmsg":"","taskid":"1679431747843563522"},"ctnkeyz2":{"begamt":"","begdat":"2023-07-08","clientid":"","daltag":"N","eacnbr":"7xxxxxxxxxxxxx4","endamt":"","enddat":"2023-07-08","nxtdat":"2023-07-08","nxtnbr":"803B000043175","nxttim":"122024","oprtyp":"N","pagcnt":"200","pattyp":"X86","plafor":"X86","predat":"2023-07-08","prenbr":"803B000043173","pretim":"120857","primod":"PDF","qwenab":"","rrccod":"","rrcflg":"1","spc100":""}},"head":{"bizcode":"","funcode":"ASYCALHD","reqid":"202307131805001321679431724586500096","resultcode":"SUC0000","resultmsg":"","rspid":"202307131805051910003cserver01-6d7b9f8bb4-9rzrj","userid":"Nxxxxxxxx5"}},"signature":{"sigdat":"/szwOPkA/8e0V5N6wi9Nf5WyGeSYzlB4pFLuTBC9uE0pKi7dkfMSuhNlBUGFj6PszViNA2JTu3twAyHqwwKwLw==","sigtim":"20230713180505"}}
2023-07-13 18:06:03.872 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 招商银行无前置机版——回单异步打印结果查询(DCTASKID)请求:{"request":{"body":{"qwenab":"false","taskid":"hwFdKlStbpeUF11qepzEthUONgrlAdEc1IP959djkS8="},"head":{"funcode":"DCTASKID","reqid":"202307131806038631679431991893688320","userid":"Nxxxxxxxx5"}},"signature":{"sigdat":"NNiJA1si5uuaug+kpjCtITQb9FVxg7ocPxkxiU1udY3m87ElazHb2Ti/W3teeRNnifrhkkUp/a3dbnP8848kew==","sigtim":"20230713180603"}}
2023-07-13 18:06:03.880 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.util.PostUtil : 访问的银行地址:http://cdctest.cmburl.cn/cdcserver/api/v2
招商银行无前置机版——回单异步打印结果查询(DCTASKID)响应:{"response":{"body":{"fileurl":"http://cmbst.kxecs.itc.cmbchina.cn:9020/ls12.13-ofd-st/1679431747843563522.zip?AWSAccessKeyId=ls12.13-user01-st&Expires=1689501966&Signature=1We0wrWq%2Fy%2FHJ5fqVErYfyrrir8%3D&response-content-disposition=attachment%3Bfilename%3D1679431747843563522.zip","fintim":"2023-07-13 18:06:01"},"head":{"bizcode":"","funcode":"DCTASKID","reqid":"202307131806038631679431991893688320","resultcode":"SUC0000","resultmsg":"","rspid":"202307131806062520001cserver01-6d7b9f8bb4-9rzrj","userid":"Nxxxxxxxx5"}},"signature":{"sigdat":"RVb4GIOR/1BmQVBiEslbqkYQ7uBZUoUdBA6LNo7SSI1VErBpZ5DA8jI6l2cT7nhIEc6CXE7LB229yrUQwTWieA==","sigtim":"20230713180606"}}
2023-07-13 18:06:04.033 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 是专线!
2023-07-13 18:06:04.034 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 文件下载URL: http://cdctest.cmburl.cn/cdcserver/api/v2:9020/ls12.13-ofd-st/1679431747843563522.zip?AWSAccessKeyId=ls12.13-user01-st&Expires=1689501966&Signature=1We0wrWq%2Fy%2FHJ5fqVErYfyrrir8%3D&response-content-disposition=attachment%3Bfilename%3D1679431747843563522.zip
2023-07-13 18:06:04.035 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 路径:d:/DZHD\tempPath\CMB_CMP
2023-07-13 18:06:04.035 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.util.DownloadUtil : 进入download方法
2023-07-13 18:06:04.083 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.util.DownloadUtil : getData = [B@30f886c0
2023-07-13 18:06:04.084 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.util.DownloadUtil : 文件写入成功
2023-07-13 18:06:04.084 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-3-thread-3] c.k.bos.bank.cmb.cmp.job.CmbCmpFetchJob : 回单文件:7559156803105042023070811679431992619302912.zip下载到:d:/DZHD\tempPath\CMB_CMP成功
—---------------下载调度—---------------
2023-07-13 18:10:00.015 INFO [CMB_CMP,download,1677351789344587776] 10212 --- [QuartzScheduler_Worker-1] c.k.b.r.r.a.AbstractReceiptDownloadFlow : BankLogin : CMB_CMP-1执行第:1 次下载任务。账号:7xxxxxxxxxxxxx4处理时间:20230708
2023-07-13 18:10:00.015 INFO [CMB_CMP,download,1677351789344587776] 10212 --- [QuartzScheduler_Worker-1] c.k.b.r.r.a.AbstractReceiptDownloadFlow : CMB_CMP的下载任务 isAccessBank:false
2023-07-13 18:10:00.015 DEBUG [CMB_CMP,download,1677351789344587776] 10212 --- [QuartzScheduler_Worker-1] c.k.b.r.r.a.AbstractReceiptDownloadFlow : 下载调度结束:CMB_CMP招商银行无前置机版电子回单文件下载
2023-07-13 18:10:00.036 INFO [CMB_CMP,,1677351789344587776] 10212 --- [pool-4-thread-3] c.k.b.r.r.a.AbstractReceiptDownloadFlow : checkedListDetails size 1
2023-07-13 18:10:00.036 DEBUG [CMB_CMP,,1677351789344587776] 10212 --- [pool-4-thread-3] c.k.b.r.r.a.AbstractReceiptDownloadFlow : 移动文件:d:/DZHD\tempPath\CMB_CMP\7xxxxxxxxxxxxx42023070811679431992619302912.zip到扫描工作路径。d:/DZHD\scanPath\CMB_CMP成功。
获取列表调度启动:CMB_CMP招商银行无前置机版获取电子回单文件列表
2023-07-13 18:10:00.108 DEBUG [CMB_CMP,,1677351789344587776] 10212 --- [pool-4-thread-3] c.k.b.r.r.a.AbstractReceiptDownloadFlow : 下载任务:1677351789344587776结束。
—---------------扫描调度—---------------
2023-07-13 18:14:00.001 DEBUG [CCB_DC,scan,] 10212 --- [QuartzScheduler_Worker-2] c.k.b.r.r.f.job.AbstractFileScanJob : 文件扫描任务启动...
2023-07-13 18:15:00.004 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : 扫描到文件:d:\DZHD\scanPath\CMB_CMP\\7xxxxxxxxxxxxx42023070811679431992619302912.zip
2023-07-13 18:15:00.004 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : doProcess...
2023-07-13 18:15:00.004 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : doprocess之后,操作之前
2023-07-13 18:15:00.004 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : files.length = 1
2023-07-13 18:15:00.004 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : file's name = 7xxxxxxxxxxxxx42023070811679431992619302912.zip
2023-07-13 18:15:00.005 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.bos.receiptmanage.util.ZipFileUtils : 进入zipFileUtils.unZipFileWithFileName()方法中
2023-07-13 18:15:00.005 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.bos.receiptmanage.util.ZipFileUtils : 准备好路径了:d:/DZHD\bakPath\CMB_CMP
2023-07-13 18:15:00.005 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.bos.receiptmanage.util.ZipFileUtils : 准备进入try进行解压
2023-07-13 18:15:00.005 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.bos.receiptmanage.util.ZipFileUtils : 解压缩文件d:\DZHD\scanPath\CMB_CMP\7xxxxxxxxxxxxx42023070811679431992619302912.zip失败
java.io.IOException: Negative seek offset
at java.io.RandomAccessFile.seek(Unknown Source)
at org.apache.tools.zip.ZipFile.positionAtCentralDirectory(ZipFile.java:467)
at org.apache.tools.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:313)
at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:185)
at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:162)
at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:123)
at com.kingdee.bos.receiptmanage.util.ZipFileUtils.unZipFilesWithFileName(ZipFileUtils.java:221)
at com.kingdee.bos.receiptmanage.receipt.filescan.process.FileScanProcess.doProcess(FileScanProcess.java:230)
at com.kingdee.bos.receiptmanage.receipt.filescan.process.AbstractFileProcess.doBiz(AbstractFileProcess.java:24)
at com.kingdee.bos.receiptmanage.receipt.filescan.job.AbstractFileScanJob.execute(AbstractFileScanJob.java:70)
at com.kingdee.bos.bank.cmb.cmp.job.CmbCmpScanJob.execute(CmbCmpScanJob.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : 解压文件7559156803105042023070811679431992619302912.zip到d:/DZHD\bakPath\CMB_CMP成功
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : 对文件根据日期进行分类
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : 999
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.FileScanProcess : 删除:d:\DZHD\scanPath\CMB_CMP\7xxxxxxxxxxxxx42023070811679431992619302912.zip
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.process.AbstractFileProcess : 文件处理完成。
2023-07-13 18:15:00.006 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.job.AbstractFileScanJob : process.getProcessedFileMap().size() = 0
2023-07-13 18:15:00.007 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.job.AbstractFileScanJob : process.doBiz() = true
2023-07-13 18:15:00.007 INFO [CMB_CMP,scan,] 10212 --- [QuartzScheduler_Worker-4] c.k.b.r.r.f.job.AbstractFileScanJob : 文件扫描任务失败
【电子回单】招行云直连-扫描调度解压文件失败,导致任务结果显示空
本文2024-09-22 20:17:46发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-112711.html