BizTalk Server Tutorial

BizTalk Server Concepts and Common Errors

How to Enable BAM Continuation between Receive & Send Ports using Tracking Profile Editor

This is a simple post to show why and how to enable Continuation between Receive & Send Ports. I am going to use Tracking Profile Editor for this example.

1. Create a simple BizTalk Application with two schemas and a Map between the two schemas.

1

2

3

4

2. Build & Deploy the application. Create a File Receive Port (RP_BAM) and File Send Port (SP_BAM). Use map in the Receive Port inbound transform.

5

3. Create a Send Port and use Receive Port Name as the Filter to subscribe the transformed message.

6

4. Now, I am going to create an activity that displays the Product Name, Quantity, Unit Price (captured from the Receive Port) and Total Price (captured from send port after the map)
5. Open Excel. Add a new Activity.

7

6. Add four Business Data Items as below. Save the Activity to Product.xml file.

8

7. Complete the activity and create a new View.
8-a

8. Give a name and select the Product Activity which is just created and select all the Activity Items.

8-b

8-c

9. Leave rest of the pages in wizard as default and complete the View creation.

10. Deploy the Activity using the command  bm.exe deploy-all -DefinitionFile:”<C:\Data\BAM\Product.xml>”

9

11. Open Tracking Profile Editor and open the activity you just deployed. From the Event Source, select Messaging Payload and Select the source schema deployed.

10

11

12. Map Unit Price, Name and Quantity from the schema to the Activity Items.

12

13. Right click Name and Select Set Port Mappings -> Select the Port that was configured in Admin Console to receive this message. Do the same for Unit Price and Quantity. This step is to indicate that, these fields are to be populated from message coming through the selected Receive Port.

13

14

14. Now select Message Payload again from the Event Source drop down and select the Target Schema.(to fill the Total Price item)

15

15. Map the Total Price from the target schema. Select Port Mapping and choose the send port which is going to hold this Target message.

16

16. Go to Tools and click on Apply Tracking Profile

17

17. Now test you deployed application by dropping a file. Open BAM Portal.
18. Instead of seeing a single record in the BAM, you will see two records. One Contributed by the Receive port and the other from the send port. Ideally both the ports should contribute to the same record.

18

19. To resolve this, Continuation should be enabled between the two Ports.

20. Come back to tracking profile editor. Right Click the Product Activity Node and Select New Continuation

19

21. Select Messaging Property from the Event Source, Map the Interchange Id to the Continuation Folder. (You can use any of the common property between the Received & Sent messages. Interchange Id is generally common between receive and send).

20
21

22. Right Click the Interchange Id -> Set Port Mappings -> Map the Receive Port.

22

23. Right Click the Product Activity Node and Select New Continuation Id.
23
24. Rename the Folder as “Continuation” (the idea is both the folders should have same name). Map again the same Interchange Id to the newly added folder.

24
25. Right Click the Interchange Id -> Set Port Mappings -> Map the Send Port this time.

25

26. You are done. Go to Tools -> Apply Tracking Profile. Test again by dropping another file. This time, you see that only one record comes for both the Receive Port and Send Port.
26

Hope this gives you an idea on how to enable continuation using TPE.
– Shiv

February 8, 2013 - Posted by | BAM | , ,

2 Comments »

  1. Very Nice Article. easy to implement the Hello world BAM application.

    Comment by Anonymous | January 30, 2015 | Reply

  2. Great article!

    Comment by Michael | October 13, 2013 | Reply


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: