Gorgo.Live.ToString()

Mariusz, Gorzoch tech Blog

Splitting XML group record into separate record messages in BizTalk orchestration

leave a comment »

Sound like easy think, but guess what? It’s not as long you do not discover “Index functoids” on mapper toolbar. I’ve tried to implement that without this small control and believe me I get all kind of strange errors starting from : “Null message” found, “Message not fallow schema” or just simply parse error. Happily this kind of problem can be quite quickly solved thru index functoids.  Here you have link to official msdn definition of it : http://msdn.microsoft.com/en-us/library/ee253838(BTS.10).aspx .

In nut shell this control takes (at least) two parameters, where:

  1. First one is the source node in the record element
  2. Second parameter points record with you want to retrieve (please notice here that first record has index “1” and not “0”)

Bellow you can find example of sample map I was working on :

you can see on the picture above that each node from source message is connected to “Index functoids” as a first argument and “LoopIndex” (record index I want to retrive) as a second parameter.

Now, if we use this map on BizTalk orchestration, like the one bellow (ConstructCreateDetailsMessage <- use above map to extract record by record from source message):

then we get simple orchestration which split multi-record node in source message into separate messages for each record.

After this discovery I find out that, knowing those all functoids can save a lot of time, 😉

happy biztalking

Advertisements

Written by Mariusz Gorzoch

10 November 2010 at 08:54

Posted in BizTalk

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: