Flat to D96A EDIFACT-Data at the root level is invalid. [Line 1, position 1]

Hi,

I have been trying to receive a flat file and convert the same to EDIFACT D96A ORDERS message. To do the same, I created a schema for the flat file and copied the EDIFACT D96A ORDERS schema. The flat file instance was validated with the flat file schema successfully.

I then created a map wherein I mapped a few segments. Tested the map and got the below in the output. The map is as expected.
UNH+001+ORDERSBig Smile:96A:UN:EAN001'BGM+220+472860+9'DTM+137:20040224:102'RFF+SD:32'NAD+BY+881::9'UNS+S'UNT+7+001'

Then created a receive port->FLATMEX -> receive location with pipeline as PassthruReceive. Created a Party "ProcterGamble" and bound it to the send port "SendEDI" (pipeline EDISend) with Filter is applied as BTS.ReceivePortName=FLATMEX & appropriate map applied.

In the EDI properties of party ProcterGamble EDI properties Party as Interchange receiver, the GLN for the receiver, sender was specfified in the UNB, UNA
segment defaults were specified and Create grouping segments and Apply new
ID (UNH) was left unchecked.

However during run time I get the below error:


Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5754
Date: 6/26/2007
Time: 4:54:47 PM
User: N/A
Computer: BLRWKS0299
Description:
A message sent to adapter "FILE" on send port
"ORDERSPG" with URI
"C:\Tutorial\Lessons\Mexico_Orders\EDIPG\%MessageID%.xml"
is suspended.
Error details: There was a failure executing the send
pipeline:
"Microsoft.BizTalk.Edi.DefaultPipelines.EdiSend,
Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Source: "EDI assembler" Send Port: "ORDERSPG" URI:
"C:\Tutorial\Lessons\Mexico_Orders\EDIPG\%MessageID%.xml"
Reason: Data at the root level is invalid. Line 1,
position 1.
MessageId: {FDDCDD9B-AA94-4936-915A-DA08DDB35555}
InstanceID: {A6C1B760-3049-4719-B0A8-F20937CC462F}

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

Event Type: Error
Event Source: BizTalk Server 2006
Event Category: BizTalk Server 2006
Event ID: 5720
Date: 6/26/2007
Time: 4:54:46 PM
User: N/A
Computer: BLRWKS0299
Description:
There was a failure executing the send pipeline:
"Microsoft.BizTalk.Edi.DefaultPipelines.EdiSend,
Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Source: "EDI assembler" Send Port: "ORDERSPG" URI:
"C:\Tutorial\Lessons\Mexico_Orders\EDIPG\%MessageID%.xml"
Reason: Data at the root level is invalid. Line 1,
position 1.

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

What does "Reason: Data at the root level is invalid.
Line 1, position 1" mean?

Kindly help

Roy.

[3473 byte] By [Roy_NK] at [2008-2-24]
# 1

Where is the map? On the receive port?

You also need to use a pipeline with the flat-file dissasembler if you want the flat-file to be transformed into XML. Sounds like you need:

Flat-File - to R2 EDI XML - to EDI

For this you have the pieces - but you haven't put them together correctly.

You need

Receive Location with Pipeline containing flat-file disassembler.

Map on Receive Port (or could be on Send Port)

Send Port - you've set this up correctly.

I am guessing the error is because the message getting to the EDI Assembler is the flat-file and not the D96A XML (which is what is expected).

JonFlanders at 2007-10-3 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...
# 2

I would have to agree with Jon. I have seen this error before in EDISend when I fed non-XML file to it. EDISend pipeline expects XML files for it to serialize to EDI documents.

Hope this helps

Mohsin

MohsinKalam–MSFT at 2007-10-3 > top of Msdn Tech,BizTalk Server,BizTalk EDI and AS2...