问题描述:
部署了20221028的回单安装包之后,银企平台查询文件类的电子回单报错,日志如下:
[2022-11-02 08:44:43,884 INFO] 银企平台中有这个账号xxxxxxxxxx
[2022-11-02 08:44:43,901 ERROR] 银企中间件抛向业务系统的异常:读取流失败
com.kingdee.bos.ebgateway.exception.BankServiceException: 读取流失败
at com.kingdee.bos.ebgateway.exception.BankServiceExceptionConverter.convert(BankServiceExceptionConverter.java:60)
at com.kingdee.bos.ebgateway.exception.BankServiceExceptionConverter.convertEBGException(BankServiceExceptionConverter.java:66)
…………
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.168.20:8089/api/queryReceiptDetail?bankVersion=PAB_DC&accNo=15000090179426&startDate=20221024&endDate=20221024&pageSize=1000&pageNum=1
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at com.kingdee.bos.ebgateway.communication.protocol.impl.HttpClientImpl.getInputStream(HttpClientImpl.java:104)
at com.kingdee.bos.ebgateway.communication.HttpConnection.getInputStream(HttpConnection.java:76)
at com.kingdee.bos.ebgateway.communication.FilterConnection.getInputStream(FilterConnection.java:18)
分析解答:
20221028版本的回单安装包,新加了两项配置:
回单程序访问白名单
配置说明:填入允许访问电子回单程序的IP地址,中间以英文分号隔开。银企平台、星空以及EAS访问电子回单程序时需要配置白名单IP,白名单以外的IP无法访问电子回单程序。默认值(127.0.0.1)
是否传输sftp账号密码给业务端
配置说明:启用此功能,会在业务端查询回单信息时将sftp账号密码作为 参数传给业务端,如果系统部署在公网,存在安全问题。默认值(否)
请参考配置说明,进行配置:
常见问题:
1、回单程序访问白名单中,不要删除127.0.0.1 这个默认值
如果删除了127.0.0.1这个默认值,就无法通过 http://127.0.0.1:8089 访问回单系统了,会提示 Request failed with status code 403
这种情况只能连上回单数据库后后台update,参考脚本如下:
select * from t_ebg_config where field_name='whiteIp'
说明:20230106版本已经做了优化,支持在application.yml文件中配置白名单ip。
2、除了127.0.0.1外,建议将回单系统的ip、银企服务器的ip、以及星空(或EAS)服务器的ip也设置到白名单中,中间以英文分号隔开。
3、如果还有其他电脑要访问回单系统,也需要将这台电脑的ip设置到白名单中
否则访问回单系统会提示:请求ip:x.x.x.x 不存在IP白名单中,请使用http://127.0.0.1:8089 登录后在系统配置添加白名单IP
推荐阅读