none
"Root element is missing" when mapping XML to XML RRS feed

  • Question

  • Hello,

    been having this problem for a couple of days now and I can't seem to find a solution.

    I am trying to map a D93A EAN009 EDIFACT flat file to our schema.

    First, I set up parties and ports in BizTalk, managed to get from flat to XML, works perfect. Then, strangely enough, the map between the XML in D93A_EAN009 format to our own schema works (Test map in Visual Studio). But when I put the map (that works in Visual Studio) on the Outbound Map on the Send Port in BizTalk, I get an error message.

    Error message

    The Messaging Engine failed while executing the outbound map for the message going to the destination URL "C:\filedrop\GB\UT\%MessageID%.xml" with the Message Type "http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006/GB#EFACT_D93A_INVOIC_EAN009". Details:"Root element is missing."


    I have double checked the namespaces. Note that flat -> XML works and that XML(D93A) -> XML(our own) works in Visual Studio. It does not work when I try to put the map as Outbound on the Send port.

    The first line in the file from the error message from BizTalk (the file BizTalk should map) is the following:

    First line, this is the root element BizTalk can't find

    <ns0:EFACT_D93A_INVOIC_EAN009 xmlns:ns0="http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006/GB">....


    It is rather strange because it looks correct, similar to other mappings I've done. The namespace is the same in BizTalk and Studio and the root tag is exactly the same in the .xsl map file.

    I have restarted BizTalk and deployed the solution from Visual Studio.


    Does anyone have an idea on what could cause this? According to extensive Googling, most people seem to have missed something about namespaces but I can't really see what I would have missed.

    If you want to see the files, please let me know.

    Thank you.
    Tuesday, July 1, 2008 1:18 PM

Answers

  • Somehow we mangaged to succeed. I am sorry to report that I have no idea on how we did it in case more have the same issue. I sent the files to a college and it worked at his computer and we compared setup without finding anything that differed.
    Wednesday, July 2, 2008 9:09 AM

All replies

  • This may be a stupid answer, but...

     

    If this is an inbound EDIFACT flat file, are you running it through the EDIReceive pipeline before the map to convert it to an XML document?

     

    Back to my hole,

     

    Tuesday, July 1, 2008 7:53 PM
  • Thank you for your answer Jim.

    Hm, I'm somewhat unfamiliar with the terminology here.

    I have a Receive port that has a Receive Location with the EDIReceive pipeline, nothing at the Inbound maps.

    Then I have a Send port where the pipeline is XMLTransmit and I've set the Outbound map to the map that is working in Studio.

    That's basically my setup, please let me know if this doesn't answer your question.


    Wednesday, July 2, 2008 6:34 AM
  • Somehow we mangaged to succeed. I am sorry to report that I have no idea on how we did it in case more have the same issue. I sent the files to a college and it worked at his computer and we compared setup without finding anything that differed.
    Wednesday, July 2, 2008 9:09 AM