【电子回单】回单平台从低版本升级到高版本可能遇到的问题及解决方案
1、使用http://IP:8089打开回单登录页面时,提示请求IP不存在IP白名单中
具体提示如下:
请求ip:xxx.xxx.xxx.xxx不存在IP白名单中,请使用127.0.0.1:8089登录后在系统配置添加白名单IP
解决方案:
如下图所示,使用http://127.0.0.1:8089登录回单平台后,在配置项 - 系统配置页面“回单程序访问白名单”中添加白名单,多个IP中间以英文分号隔开。注意:不要删除127.0.0.1这个默认值。
对于使用linux操作系统的服务器,基本都是无图形界面的,无法通过本地浏览器访问回单程序。这种情况下可以在回单程序的配置文件中(config文件夹内的application.yml文件)的末尾添加whiteIps字段,后面追加需要访问回单程序的IP地址、代理地址等,中间用英文分号分隔。如图所示:(箭头处有空格,符号均为英文符号)
whiteIps: 127.0.0.1;
2、使用旧版本设置的密码无法登录回单平台
解决方案:
之前的旧密码设置的过于简单,例如123456这种,升级到最新版后登录时系统检测到密码不符合要求,所以无法登录系统。需要重置密码为初始密码,操作步骤如下:
1)连上回单库(双击回单安装目录下的数据库配置程序start_Config.bat可以查看回单库的信息)后,修改回单数据库表t_ebg_user字段user_password 值为 $apr1$Kingdee$5Ok1ttuLwq48MpweypqN00 ,对应密码为kingdee@2020
2)然后登录回单系统,输入用户名、密码(kingdee@2020)之后,首次登录会弹出用户密码修改窗口,需要输入原密码(kingdee@2020)、新密码、确认密码后点【提交】按钮,然后系统会跳转到登录页面,请使用新密码进行登录。
新密码要求:
1)至少需要包含数字、字母或字符中的三种
2)密码长度为8 - 18个数字或字符
3、登录后,“系统配置”页面和“银行配置”页面缺少配置项
例如,配置项 - 系统配置页面缺少新版本增加的两个配置项:回单程序访问白名单、是否传输sftp账号密码给业务端。
解决方案:
版本的更新涉及配置项的增加,需要重新初始化元数据。步骤:【回单】-【配置项】-【系统配置】页面最下方“重新初始化元数据”,点【更新】按钮。
4、系统配置页面 - 更新元数据报错
如下图所示,点【更新】按钮报错了,提示:请求异常:could not execute statement
解决方案:
以oralce回单库为例,查看回单日志,可以看到如下报错:
Caused by: java.sql.SQLException: ORA-12899: value too large for column "SYSTEM"."T_EBG_CONFIG_META_DATA"."CONFIG_DESC" (actual: 882, maximum: 800)
需要将回单库的表T_EBG_CONFIG_META_DATA的CONFIG_DESC字段的长度改大,例如改成1000。然后再去执行更新元数据操作。
如果是sqlserver库,回单日志类似下面这样:
2023-11-24 16:11:20.435 INFO [,,] 1540 --- [qtp1014982340-17] c.k.b.r.conf.EBConfigStorage : 元数据重新设置成功!
2023-11-24 16:11:20.498 WARN [,,] 1540 --- [qtp1014982340-17] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 8152, SQLState: 22001
2023-11-24 16:11:20.498 ERROR [,,] 1540 --- [qtp1014982340-17] o.h.engine.jdbc.spi.SqlExceptionHelper : 将截断字符串或二进制数据。
2023-11-24 16:11:20.498 INFO [,,] 1540 --- [qtp1014982340-17] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements
2023-11-24 16:11:20.513 ERROR [,,] 1540 --- [qtp1014982340-17] c.k.b.r.c.ExceptionHandlerAdvice : 未知异常
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement
5、升级后登录回单平台,发现之前的配置全都不见了,急急急
遇到过几次客户反馈此问题:升级回单平台到最新版本,登陆进去后发现界面上的配置都没有了。连上回单库看,回单库的表中例如t_ebg_config(保存界面上的配置信息)、t_receipt_detail(保存回单信息)也都没有数据了。
解决方案:
找到旧的回单安装路径,启动数据库配置程序start_Config.bat,在对比升级后的回单系统的数据库信息,发现二者完全不一样。现场在安装最新版的回单系统后,没有连到旧的那个回单库,而是连了一个新的库,这个新的库里是没有数据或者缺失了数据的。所以,需要参照旧的回单系统的数据库配置信息,去修改新的回单系统的数据库配置信息,然后重启回单服务再登录进去看,配置信息及回单信息都还在。
6、升级后,银企平台查询电子回单提示读取流失败
星空下载电子回单报错,提示缺少银企文件服务器信息。或者提示银企平台返回:读取流失败。
EAS下载回单文件报错,提示【连接回单FTP服务器失败】下载PDF文件:IP:xxx.xxx.xxx.XXX 端口:-1 用户名:null ,请现场根据 下载回单文件的IP、端口、用户名 和 密码,检查FTP服务器连接是否正常!
解决方案:
基于安全考虑,最新版本的回单系统增加了下面两个配置项。需要您配置一下:
1)回单程序访问白名单
配置说明:填入允许访问电子回单程序的IP地址,中间以英文分号隔开。银企平台、星空以及EAS访问电子回单程序时需要配置白名单IP,白名单以外的IP无法访问电子回单程序。默认值(127.0.0.1)
2)是否传输sftp账号密码给业务端
配置说明:启用此功能,会在业务端查询回单信息时将sftp账号密码作为 参数传给业务端,如果系统部署在公网,存在安全问题。默认值(否)
详细可参考:https://vip.kingdee.com/article/455664570829516288?productLineId=8&isKnowledge=2
7、升级后,星空或eas中,交易明细和电子回单未匹配
解决方案:
如果是升级回单版本后才出现的问题,那未匹配的原因往往是回单码不一致。升级回单系统后,部分银行的电子回单的匹配码规则发生了变化,例如可能在回单码中拼接了金额字段。而银企补丁较旧的话,交易明细的回单码的拼接规则还是旧的,所以交易明细和电子回单无法匹配。
因此,更新回单版本后,还需要更新银企平台的补丁,目的是更新交易明细的匹配码规则。更新银企补丁之后,在银企平台 - 交易明细查询 页面,勾选“立刻获取银行所有明细”之后,再选择银行账号、日期等进行查询,则可更新交易明细的回单码;然后再到EAS联机查询交易明细(或星空中重新接收银行交易流水),则可更新业务系统中交易明细的回单码,然后再对交易明细和电子回单按回单码进行匹配。
具体要更新银企平台的哪个补丁?一般来说,如果回单版本更新到了最新版本,那银企平台也要安装最新补丁;但也有例外,例如银企最新补丁更新了某银行插件的交易明细的回单码,但回单最新版本尚未发布(银企补丁和回单版本经常无法同步发版),这种情况下打了银企最新补丁,又会导致这个银行插件的回单的回单码规则还是旧的。因此,建议现场不清楚的时候可以提单咨询一下。
回单版本和银企补丁的对应关系如下:
回单版本:20230106 --> 银企补丁:PT169244(发布日期:2022-12-30)
回单版本:20230720 --> 银企补丁:PT172985(发布日期:2023-08-31)
回单版本:20240801 --> 银企补丁:PT177695(发布日期:2024-08-09)
回单版本:20240901 --> 银企补丁:PT177695(发布日期:2024-08-09)
8、版本升级后,系统正常运行了一段时间后又出现了回单和交易明细不匹配的问题,或者缺少了某些配置项等奇怪的问题
常见的现象有2种:
1、电子回单平台之前对接了两个银行,突然发现在银行配置页面插件下拉列表这里有一个银行不见了,系统配置页面 - 银行插件列表中也找不到这个插件。
2、之前因为交易明细和回单的回单码不一致无法匹配的问题,升级了回单平台,问题解决了;近期发现回单码又不一致了。
分析解答:
回单版本升级,只需要下载新的包解压、连上旧的回单库就完成了升级过程(并不需要更新补丁,或者卸载旧的、安装新的),所以这就会造成目录下存在多个回单目录,例如下图所示;也可能升级后的版本放在D盘,旧的版本放在C盘,等等。所以在回单升级后系统正常运行了一段时间后,可能因为电脑关机或其他原因需要重启回单服务,进入到了旧的回单目录下启动了旧的回单服务,造成了上述现象。
还有一种情况很常见,那就是客户部署回单平台之后,为了方便操作,就给“start_in_console.bat”(这个是启动回单服务的脚本)创建了一个快捷方式放在桌面上,之后启动回单服务就通过桌面快捷方式去启动。升级回单平台后,第一次启动回单服务,是在升级后的回单目录下双击start_in_console.bat启动回单服务,没问题;过了一段时间后因为某种原因要重启回单服务,就直接双击桌面快捷方式去启动回单服务,这就启动了那个旧的回单服务,从而造成了上述现象。
为了避免出现这个问题,对于旧的版本,可以将目录打个压缩包备份,原旧目录直接删除掉。另外,跟客户沟通了解下之前是否有创建桌面快捷方式(有些客户创建了快捷方式之后会改个名字)?也可以自行检查一下桌面上的快捷方式,如存在回单的快捷方式则将其删除,然后对新版回单目录下的“start_in_console.bat”创建新的桌面快捷方式。
9、版本升级到20230720后,EAS下载电子回单PDF报错,apusic日志提示Algorithm negotiation fail
现象:
EAS端手工下载电子回单PDF提示下载0条,后台事务下载回单PDF也报错,查看apusic日志,有如下报错信息:
开始下载电子回单PDF,银行账号:10xxxxxxxxxxxxx5 交易日期:20230827 detailNO:10xxxxxxxxxxxxx5-20230827-23239000001
2023-09-02 19:46:03 INFO [con.out-Thread 70] [2023-09-02 19:46:03,630 ERROR BGJOB_BIG_9]连接FTP服务器失败:connect to ftpHost = 10.xxx.xxx.30,as ftpUserName = xxxxxxx,as ftpPort = xx ,as ftpPassword = xxxxxx returning: error
2023-09-02 19:46:03 ERROR [con.err-Thread 70] java.lang.Exception: com.kingdee.eas.fm.be.jcraft.jsch.JSchException: Algorithm negotiation failConnected to ftpHost = 10.xxx.xxx.30,as ftpUserName = xxxxxxx,as ftpPort = xx ,as ftpPassword = xxxxxx returning: error
分析解答:
20230720这个安装包涉及安全漏洞修复,升级了SSHD的版本,EAS也要更新资金补丁,各版本资金补丁如下:
EAS8.0版本:升级资金补丁PT170640(FM,发布日期:2023-04-07)
EAS8.2版本:升级资金补丁PT170503(FM,发布日期:2023-03-24)
EAS8.5版本:升级资金补丁PT170670(FM,发布日期:2023-04-07)
EAS8.61版本:升级资金补丁PT171103(FM,发布日期:2023-04-23)
EAS8.8版本:发版即支持
另外,如果eas不打补丁,您需要:
1、回单版本升级到20240801,PT177695(发布日期:2024-08-09)
2、参考《升级回单新版本后EAS下载回单文件异常处理说明.doc》文档,更换回单新版本的SFTP插件包,降级到低版本。
【电子回单】回单平台从低版本升级到高版本可能遇到的问题及解决方案
本文2024-09-22 20:17:17发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-112658.html