Multiple Maps on a Receive Port

Im working on a (actually my first) BizTalk 2010 project.

I'd like to configure maps on a (File) receive port as follows:

schema-1 :: map-A :: schema-1
schema-2 :: map-A :: schema-1
schema-1 :: map-B :: schema-1

Is this an allowed scanario (at least, the Administration Console does not complain)? - And, if yes, can I assume they will be applied top-down in the order they appear in the Receive Port Properties > Inbound Maps dialog?

January 28th, 2011 4:02pm

Hi Georg,

 

you can only define one schemaX - mapX per schema. If you would have two maps from schemaX to another schema BizTalk would not know which one to choose. So the source schema has to be unique (at least on port level).

But it is possible to have more than one map. The following would be valid:

schema-1 :: map-1 :: schema-9

schema-2 :: map-2 :: schema-9

schema-3 :: map-3 :: schema-8

Free Windows Admin Tool Kit Click here and download it now
January 28th, 2011 5:53pm

Hi Georg,

BT Admin console will not allow you to use the same schema twice as map's input .The Map's input that matches with the message received will execute. So if two schema's matches, then there will be a conflict.                        so, " schema-1 :: map-A :: schema-1  AND  schema-1 :: map-B :: schema-1" cannot coexist.

BT Admin console will not allow you to use the same map twice as you cannot use the same input schema twice .so, " schema-1 :: map-A :: schema-1  AND  schema-2 :: map-A :: schema-1" cannot coexist.

 

 

 

January 28th, 2011 6:36pm

Hi Oliver, Sriram:

1. In the BizTalk Server 2010 Administration console, I CAN define the maps exactly as I have shown in my origibnal post. (Sriram: what version of BizTalk are you referring to when you say 'BT Admin console will not allow...'?)

2. If I am not mistaken, the configuration does exactly what it is meant to do:

  • if a schema-1 comes in, it applies (schema-1 :: map-A :: schema-1), followed by (schema-1 :: map-B :: schema-1)
  • if a schema-2 comes in, it applies (schema-2 :: map-A :: schema-1), followed by (schema-1 :: map-B :: schema-1)
  • although I am not 100% certain that the the maps are applied in the order specified, I am certain that map-A and map-B are applied in all cases.

3. Since BizTalk Administration allows that particular configuration (and it would not be too hard to check that the input schemas are all different, as Oliver's post seems to imply they should be), I expect the documentation to explicitly state how BizTalk processes it.

So my question reads now: Where do I find this kind of documentation? Or is there this type of documentation?

Georg   

Free Windows Admin Tool Kit Click here and download it now
January 31st, 2011 8:04am

Hey Georg,

Sorry for the late reply.I was testing the sequence of execution. I have posted my findings here

1. I tried this initially in Biz Talk 2006 and then I also verified in 2010.I believe both the versions behave the same in this case. 

2. Port Bound Maps will not execute in the way a sequence of maps in an orchestration executes. Only one of all the maps that matches the received message type will execute. So if Schema1 comes in it will be either Map-A or Map-B that will execute. Please make sure you do something different in both the maps to check this.  I suggest this because I see all yours maps having the same output(Schema1), so there is a chance for confusion.

3. You might have a map designed to take two inputs, but BizTalk will allow you to pick only one input(the first - why?) of that map. So, you cannot configure different schemas for the same map.

Thanks

Please mark as answered if this helps.

http://srirambiztalks.wordpress.com/

February 10th, 2011 2:03am

Sriram, cool investigation! Thanks!

So conclusion is: it is possible but, since the result (the selected map) is unpredictable, it is not usable.

The idea to use several maps in receive port is easy. Input several different formats of the message and output only one canonical format. Several partners publish, for example, the order in different formats, the port convert all of them to one format. Port chooses the correct map and apply it to the input message. The opposite is for the send port. A canonical format converts to the several partner formats.

Using different maps with the same input format for the RP - for what purpose?

Free Windows Admin Tool Kit Click here and download it now
February 11th, 2011 4:08am

Hi Guys,

The scenario given was very interesting and I've done further analysis and found this article.

http://msdn.microsoft.com/en-us/library/aa578271.aspx

"You can add more than one map to a receive port, but each map must have a unique source schema"

That statement should be good enough.

Thanks,

Manju RS

May 29th, 2014 6:51am

Hi Oliver, 

I have same scenario in our environment. 

I have 3 types of incoming messages. I have created 3 Schema's for each and i have created our internal standard format. I have 3 maps that converts the 3 schema's to our internal format. and in Admin Console i have created Receive Port with 3 Receive locations and i have added the 3 Inbound maps that i have created. My problem is i would like to take the Backup of the original messages that comes into the system  before the Maps Transformation applies. Can you/anyone out there suggest me here?

Free Windows Admin Tool Kit Click here and download it now
March 18th, 2015 2:45pm

Hi George,

Inbound maps only gets executed if the MessageType of incoming file matches any of the maps deployed in bt_documentSpec(table where all the deployed maps have an entry).

So, in case if you have two maps like- A-> B and other as A-> C then either one will get executed. Which map will get executed will depend upon the order or deployment or order of their entry in bt_documentSpec table.

Let me know if this answers your query.

Hi Venu,

If you want to archive or backup the files before processing map, then you will have to write pipeline component to do so because after the execution of pipeline your maps will be called and then you will only have transformed output.

March 19th, 2015 10:30am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics