Connected Systems Chilled Out Blog

Hanging stuff together in a meaningful way with some fun added

  Home  |   Contact  |   Syndication    |   Login
  752 Posts | 10 Stories | 467 Comments | 116 Trackbacks

News

Twitter












Tag Cloud


Article Categories

Archives

Post Categories

Image Galleries

Blog Roll

Film

Great Sites

Product Blogs

SoliBlog

Tech Sites

This is a problem discovered by my colleague  Dave Robinson at Solidsoft:

This is more something to be aware of. I would not necessarily say it was a bug but it’s interesting none the less. We have a map which wants to create an output based on

- One field existing AND

- One field NOT existing

Based on the screen shot below, you can see the “&” functoid forms the creation of the ContactPhones. Behind the scenes the creation of the ContactPhones is done via a for loop “<xsl:for-each select="InputMessagePart_1/Details/Contacts">”

For this instance our output record was created successfully

clip_image001

In the second case where our output was not created, I was scratching my head for a few moments. Basically the map was the same but the order of the inputs into the “&” functoid is the other way round, i.e. the NOT was first. In this case the creation of the ContactPhones is done via the following for loop “<xsl:for-each select="InputMessagePart_0/ns0:FWTOrganisation/ContactPhones">”. In this case, this record does not exist so our output is never going to be created.

clip_image002

So if you are doing something like this, you need to ensure that the first input into the “&” is the field which you want to exist. Otherwise you will not get the expected output.

posted on Friday, September 10, 2010 9:26 PM

Feedback

# re: BizTalk mapping issue/bug? 8/11/2011 1:05 PM pink boots
boot on sale now ! find yours here!!

Post A Comment
Title:
Name:
Email:
Comment:
Verification: