2012-08-10 37 views
0

我正在尝试使用Biztalk处理edifact文件。我设置了一个适用于发送端口的非常简单的地图。但是,Biztalk抱怨消息。我试图搜索网络,但没有任何结果。你可以看到edi文件here。我使用EDIFACT协议建立了各方和协议,但我不确定我做得如何。每当我尝试向用户提供该消息的BizTalk,我可以在事件查看日志以下消息:Biztalk EDIFACT处理

A message received by adapter "FILE" on receive location "Receive Location1" with URI "C:\Temp*.edi" is suspended. Error details: An output message of the component "Unknown " in receive pipeline "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive, Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" is suspended due to the following error: Error: 1 (Field level error) SegmentID: UNB Position in TS: 1 Data Element ID: UNB5 Position in Segment: 5 Data Value: 37: Invalid character(s) found in data element. The sequence number of the suspended message is 1. MessageId: {DDE54B67-8907-49A2-BDE9-4763495B9B87} InstanceID: {892EC28B-AC4C-4EA4-8DCC-C49D5FC2869C}

我不知道这意味着什么。任何帮助,指示将不胜感激。

谢谢。

回答

0

您提供的消息看起来像格式正确的EDIFACT消息,语法版本1(语法版本4是最新的)。我不知道Biztalk,但您可能必须设置一些内容以确保它的语法版本为1. UNA段与第一版语法版本(它预计有5个分隔符)相比,它与其最新的语法版本(它期望的6个分隔符),所以如果Biztalk期望更高语法版本的UNA段,那么它将无法正确处理该消息。

0

您在您的UNA规格行中缺少您的UNA5(重复分离器)。

没有此,BizTalk EDI反汇编管道无法正确解析您的EDI文件的内容。

你很可能需要与交易伙伴(一个或多个),以确保UNA线(该文件的第一行)来协调看起来像下面这样:

UNA:+,?*' 
+0

我试过了,但后来我我得到了149错误,而不是一个:)。其中一些是无效字符,其中一些是无效值。我认为在biztalk派对配置中正确指定了十进制分隔符和其他属性。我卡住了。也许文档格式不正确? – Davita 2012-08-13 07:52:47

+1

EDI作为语法版本1有效。您引用的UNA用于更高的语法版本。 Biztalk应该配置为处理这种情况下的语法版本1。 – 2012-08-14 03:07:01