You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EDI转Java对象时遇Smooks解析错误:终止符%NL;未找到

EDI转Java对象时遭遇Smooks解析错误

问题详情

尝试将以下EDI数据转换为Java对象:

HDR*1*0*59.97*64.92*4.95*Wed Nov 15 13:45:28 EST 2006
CUS*user1*Harry^Fletcher*SD
ORD*1*1*364*The 40-Year-Old Virgin*29.98
ORD*2*1*299*Pulp Fiction*29.99

参考Smooks的EDI转Java示例项目实现,执行时抛出错误:

Caused by: org.smooks.api.SmooksException: Parse Error: Failed to populate order-item[2]. Cause: Parse Error: Terminator '%NL;' not found

直接运行该示例项目,同样触发相同错误。

常见解决思路

  • 核对EDI配置文件(如.edi格式的模型定义文件)中的行终止符设置:示例项目可能默认使用%NL;作为换行终止标记,但你的EDI数据使用的是标准换行符(\n),需将配置中的终止符修改为与实际数据匹配的格式。
  • 确认Smooks配置里的EDI模型与你的数据结构完全匹配:重点检查ORD段的重复规则、字段数量、分隔符(包括字段分隔符*、复合字段分隔符^)是否和配置一致。
  • 检查输入EDI数据的完整性:确认最后一行是否存在换行,或是否有字段缺失、格式错乱的情况。

内容的提问来源于stack exchange,提问作者Pooja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:10:40