BUG: The Base EDI adapter may generate incorrect XML for some schemas in BizTalk Server 2004

This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
In Microsoft BizTalk Server 2004, the Base EDI adapter may generate incorrect XML for some schemas.
CAUSE
This problem occurs because for some EDI schemas, the generated XML output may have missing information or incorrect information in the loop structures for those schemas.

For example, you have the following data to be validated against the D97B PRICAT (Price/Sales Catalog) schema:
LIN+1'PIA+5+F2N028EA06:VP::91+F2N028EA06:MF'
In this scenario, BizTalk Server generates the following incorrect XML output:
<LINLoop1>           <PIA PIA01="5">                      <C212_2 C21201="F2N028EA06" C21202="MF" C21204="91"/>           </PIA>
You expect BizTalk Server to generate the following correct XML output:
<LINLoop1>           <PIA PIA01="5">	<C212_x C21201="F2N028EA06" C21202="VP" C21204="91"/>	<C212_x C21201="F2N028EA06" C21202="MF"/>           </PIA>
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATION
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Ebiz BTS BTS2004
Properties

Article ID: 890769 - Last Review: 01/17/2015 09:32:51 - Revision: 2.8

Microsoft BizTalk Server 2004 Standard Edition, Microsoft BizTalk Server 2004 Partner Edition, Microsoft BizTalk Server 2004 Enterprise Edition, Microsoft BizTalk Server 2004 Developer Edition, Microsoft BizTalk Server 2004 Service Pack 1

  • kbnosurvey kbarchive kbautohotfix kbbiztalk2004sp2fix kbpending kbbug kbhotfixserver kbqfe KB890769
Feedback
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)