Re: Using BizTalk 2006 Mapping Engine

Home Page Forums BizTalk 2004 – BizTalk 2010 Using BizTalk 2006 Mapping Engine Re: Using BizTalk 2006 Mapping Engine

#16943

Unfortunately I disagree with Stephen on this one:

The biztalk Mapping engine just uses Xsl Transformations to convert from one Xml format into another (mostly). The work of creating an Xml document from a non-Xml document is done by parsers in the Disassemble stage of the pipeline. To convert messages from one format to another they must be converted into Xml first.

The mechanism of sending Biztalk a message with a file name that Biztalk then processes thru a pipeline seems like a lot of work  for not much gain. Why not have multiple receive locations all looking at a directory and using a file mask. So Xml files are *.xml, Excel files are *.xls, flat files are *.txt, etc. Each receive location would include a pipeline for handling a particular message type. If you wish to add a new message type simply add a new receive location.

1. Is this the correct way to utilize just the mapping engine of BizTalk 2006?
I don't think so

2. Can an XLANGMessage object be initialized with ONLY XML format messages? How can I construct an XLANGMessage for a non-XML file?
Biztalk is able to move a non-Xml message from Receive port thru an orchestration and out a send port without ever converting it into an Xml message. You only need to convert into Xml if you wish to use access data from within the document or to change the Xml format using the mapping engine. To use non Xml messages just use the Pass-Thru pipeline to accept messages.

3. I may need to use a Pipeline at Send Port too (e.g. for CSV to EDI mapping where both the input and output formats are non-XML). Can I use the same mechanism at the Send Port as well?
To convert from CSV to EDI you will need to write your own custom code to do this. You can either write generic code that can handle  any CSV to any EDI, but then you would need a mechanism (like a schema for defining the input and output formats). Or you could write specific code to convert from one specific CSV format to one specific EDI format.

4. If this does not seem to be a proper solution, can anybody recommend a simple & practical approach to utilize BT06 Mapping Engine for translating different types of documents (EDI, CSV, TXT, XML etc.)?
The Biztalk Messaging engine has been designed to do just this. However it does not have a many to many translation capability. It will accept a message in many formats using a disassembler to convert to Xml (this is extensible as you can write your own disassembler. It can then  process and transform the message and then send it using an Assembler to convert into many formats, again you can add you own assemblers.

Can you explain a bit more about the overall purpose of your solution. What are you trying to do?