问题描述:
华夏银行,2022.10.12号有交易明细,但下载电子回单显示error。
分析解答:
华夏银行的电子回单是报文(xml)格式的,直接在银企平台的【电子回单查询】页面查询就可以下载。查看银行返回的报文日志mbts_invoke\2022_xx_xx\queryReceipt\queryReceipt_2022xxxxxxxxx_gfhui6h8.HXB_DC-1,可以看到是有回单的:
但是银企返回给业务系统的日志中,显示报错了:java.lang.ArrayIndexOutOfBoundsException: 5
回单报文:
000000#1#xxxxxx有限公司|18xxxxxxxxxxxxx9|103xxxxxxx180|xxxx00.00|往来款(xxxxx9#到xxxxxxxx华夏6577#)|xxxxxxxxxx有限公司|1xxxxxxxxxx77|3450|202210123498666170|2022-10-12|666170|2||#@@@@
在解析回单信息时,代码中直接用#做了分隔,当摘要字段带有特殊符号#时,会出现数组越界的报错。对于该问题,目前银企最新补丁PT168320(发布时间:2022-09-28)也还没有优化,后续补丁会优化(关注提单R20220929-0978)。目前提供私包给到客户验证。
另,华夏银行查交易明细,存在特殊符号#号时报“java.lang.ArrayIndexOutOfBoundsException: 14”的错误,该问题已在银企平台的补丁PT160605(发布日期:2021-11-4)中修复。
推荐阅读