我使用Azure Logic Apps和Integration Accounts来接收EDIFACT消息。
EDIFACT传入消息中包含下划线字符,EDIFACT DECODE验证失败,并显示以下消息:
解析期间遇到错误。 ID为“1”的Edifact事务集包含在交换(无组)中,ID为“1”,发件人ID为“XXX”,接收者ID为“XXXXX”,其中包含以下错误:
错误:1(字段级错误)
SegmentID:BGM
在TS中的位置:2
数据元素ID:XXXX
细分中的位置:3
在现场的位置:1
数据值:1_2017-09-2206:24:42
21:找到无效的字符
我想允许下划线字符被视为有效字符,欣赏解决问题的任何指针。
它全部由标准字符集see here驱动,我不记得任何支持下划线的内容,因此根据EDIFACT标准,最终事务是错误的,因为错误消息指出。
有1.5个问题。 :)
但是,您需要做的第一件事是告知您的管理层您的贸易伙伴正在发送无效的EDIFACT。如果贸易伙伴无法解决他们的问题,您将不得不花费额外的时间来解决他们的问题。
这对您,您的应用程序或BizTalk Server来说不是问题。
EDIFACT支持非常有限数量的字符集,并且“_”不包含在任何字符集中。
他们要么解决问题,要么必须创建一个删除/更改无效字符的自定义函数。
最后,.5问题是它们甚至没有发送可用的值。该格式不是任何标准日期格式,因此无论如何都需要进行操作才能使用它。