Multiple messages to one orchestration

Multiple messages to one orchestration

Post by gwilbor » Sun, 21 Nov 2004 04:25:29


I need to have a BizTalk 2004 orchestration take in messages from two
inputs. The orchestration that I am modifying already monitors a
folder for xml files, but I also need it to monitor a message queue
that will have messages with the same xml format as the files in the
folder. I started by adding a port that monitored my message queue. I
then added a parallel action to orchestration and placed the original
receive in the parallel action and added another receive that I then
bound to the new port I created. Since the message format was
identical I used that message for both ports. When I tried to build I
got the following, "'Msg_FromOEQueue': if shared data is updated in a
parallel then all references in every task must be in a synchronized
or atomic scope".

Am I completely off base in how I went about this? The message will
only come in one way or the other. The same message will not be
processed by each action.

Thanks in advance.

Greg
 
 
 

Multiple messages to one orchestration

Post by Greg Forsy » Sun, 21 Nov 2004 07:55:17

If the incoming message format is identical, you only need one receive
shape.

There are a number of ways to deliver messages to this endpoint:
1 receive port with two receive locations (each receive location uses a
different protocol) bind this port to the orchestration.

Multiple receive ports each with different receive locations (This is useful
when normalizing data into a single internal format as the inbound map is
specified in the receive port) In this case you can specify the receive
shape in orchestartion as Direct and add you own filters to the receive
shape. The Direct receive shape is not bound to a port and has one default
subscription filter (BTS.MessageType = receive shape message type). You can
add your own filters e.g BTS.RecievePortName = Port1 OR Port2

Greg