我正在尝试使用 Logic Apps 在 Microsoft Azure 中验证和解析 X12 文件 (835/837)。我已设置集成帐户,并将其绑定到逻辑应用程序,架构和协议已完成。
但是我收到以下错误:
{
“errorMessage”:“错误:1(杂项错误)\r\n\t522:分隔符不唯一,字段和段分隔符相同\r\n\r\n”,
“statusCode”:“BadRequest”
}
Microsoft 告诉我这是 EDI 文件验证错误。我应该从哪里着手解决此问题?
答案1
就我而言,这是因为我在 X12 210 文件中拥有多个费用和项目,但像标签一样,具有相同的父级,并没有组合在一起。
解决方案是通过重新排列正在验证的 XML 标签来实现的,如下所示:
<L5>
<L501>1</L501>
<L502>Something</L502>
</L5>
<L1>
<L101>1</L101>
<L102>2</L102>
<L103>3</L103>
<L104>4</L104>
<L108>5</L108>
</L1>
<L5>
<L501>2</L501>
<L502>Something Else</L502>
</L5>
<L1>
<L101>6</L101>
<L102>7</L102>
<L103>8</L103>
<L104>9</L104>
<L108>0</L108>
</L1>
到
<L5>
<L501>1</L501>
<L502>Something</L502>
</L5>
<L5>
<L501>2</L501>
<L502>Something Else</L502>
</L5>
<L1>
<L101>1</L101>
<L102>2</L102>
<L103>3</L103>
<L104>4</L104>
<L108>5</L108>
</L1>
<L1>
<L101>6</L101>
<L102>7</L102>
<L103>8</L103>
<L104>9</L104>
<L108>0</L108>
</L1>
请注意同一级别上相同标签的顺序分组。
我在查看架构时发现了一个元素的属性,结构=“分隔”
<xs:element name="X12_00401_210">
<xs:annotation>
<xs:appinfo>
<b:recordInfo **structure="delimited"** field_order="postfix" delimiter_type="inherit_record" count_ignore="yes" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" notes="Motor Carrier Freight Details and Invoice" />
</xs:appinfo>
enter code here
...
不幸的是,我找不到可以证实我怀疑的资料此 BizTalk Microsoft Docs 链接“位置或分隔”的措辞让我相信标签可能需要通过指定的分隔结构链接在一起。这是公认的认知飞跃。
希望这有帮助。