问题描述:
如下图所示,电子回单下载失败,提示:失败流程节点-下载前预处理中:connect: Address is invalid on local machine, or port is not valid on remote machine
2022-10-26 10:09:00.035 INFO [CCB_CCIP,,1584937830038110208] 12492 --- [pool-2-thread-10] c.k.bos.bank.ccb.ccip.utils.RequestUtil : 请求URL:http://:0
2022-10-26 10:09:00.035 INFO [CCB_CCIP,,1584937830038110208] 12492 --- [pool-2-thread-10] c.k.b.r.r.atom.AbstractReceiptListFlow : 执行获取列表过程发生异常。
com.xiaoleilu.hutool.http.HttpException: connect: Address is invalid on local machine, or port is not valid on remote machine
分析解答:
检查了电子回单-银行配置和系统配置,各项参数和银企平台-前置机上的配置是一致的(余额、交易明细可以查询),都没问题,且t_ebg_config 表中数据也是保存成功的。
但是从截图看,银企平台-前置机编号 和 电子回单程序上面的前置机编号对不上,导致通讯失败了(银企平台的前置机编号是ICBC_CMP-2 ,但是回单程序之前是默认的ICBC_CMP-1),需要到电子回单程序这边再创建一个ICBC_CMP-2,并进行配置和保存、并重启回单模块,测试下载电子回单,就可以下载成功了。
问题延伸:
如果不是上述原因,那可能是代码问题。例如,之前遇到过另外一家客户,农业银行公网版下载回单,手工下载成功,通过调度下载失败,提示:建立FTP连接出错,
com.jcraft.jsch.JSchException: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
从日志看,是获取不到SFTP的ip和端口信息。手工可以下载,说明配置上没问题;自动调度下载报错,推测可能是程序bug,代码太旧;经与现场沟通,现场的回单版本是20201015号的版本,版本较旧,建议更新为最新版本(最新版本参考:https://vip.kingdee.com/article/165500974349008896?productLineId=8)。
现场更新为最新版本后,通过自动调度的方式可以下载回单了。
推荐阅读