Showing posts from August, 2015

The BAM Portal website Default Web Site is not valid

I have recently encountered an error during the Microsoft BizTalk Server installation. I encountered the following error while attempting to configure the BAM Portal in the Microsoft BizTalk Server Configuration window. And because of this failed to configure BAM Portal.
 When click on not configured BAM Portal then below window will open, Select Enable BAM Portal check box to configure and enable the BAM Portal.
 Once you check the BAM portal check box, configuration window will come like below with error mark. click on error icon to see the full details of error.
Configure the Web service accounts with proper account but still you will see the error icon in BAM portal Web Site. When you click on error icon of BAM portal Web Site, you will find the below error window with error,
Failed to validate BAM Portal Web Site (BAMPortal) ADDITIONAL INFORMATION: The BAM Portal website Default Web Site is not valid. (Microsoft.BizTalk.Bam.CfgExtHelper.PortalHelper) Unknown error (0x80005000) (Syst…

Exposing orchestration as WCF service biztalk example

I am going to demonstrate how to expose an Orchestration as WCF service & then consuming this exposed service using a WCF client.

Overall flow of the solution :
1. Creation of a solution
2. Creation of a BizTalk project in the solution which contains an XML schema & an Orchestration.
3. Publishing the Orchestration to IIS using BizTalk WCF publishing wizard.
4. Creation of a C# console project in the same solution.
5. Addition of the service reference of the above exposed orchestration into the C# console application.

Schema :

Created an XML schema with 'Status' field as distinguished field.

Orchestration :

The Orchestration simply receives a message from a folder path & the Status
of the message is changed to 'received' & then this new message is send to a
output folder location.

There are two messages used in the orchestration one for receive shape & one
for send shape but these two messages uses the same schema as message type.

The message assignme…

Different methods of property promotion inside Orchestration

What is Property Promotion ? Property promotion is a core concept in BizTalk which is used for subscription. Basically property promotion writes that particular property's value into the context of the message and also promotes it.
Now there can me many ways to do Property Promotion inside BizTalk Architecture. I have come across three ways to do it. If you guys find out more, do tell me !!!!!
1. Promotion using Schema : 
This is pretty simple and every BizTalk developer (New or Experience) must be aware of it. Using Quick promotion will create an Property Schema automatically with the property ID in it.
2. Promotion using Custom Pipeline component :
Properties can be promoted using Custom Pipeline component using a simple one liner .NET code i.e.

// Promote the MessageType property
string messageType = “http://” + “” + “#” + “Request”; message.Context.Promote(“MessageType”, BTSSystemPropertiesNamespace, messageType);
The Promote() method is used to write the propert…

Sequential convoy using listen shape in biztalk example

What is Sequential Convoy in BizTalk ?
A sequential convoy enables multiple single messages to join together to achieve a required result. A sequential convoy is a set of related messages that have a predefined order. Although the messages do not have to be exactly the same, BizTalk Server must receive them in a sequential order.

Listen Shape in BizTalk Example -:
Listen shape in BizTalk is the most powerful shape available in Orchestration developer toolbox. It can be used in many design patterns for BizTalk Soluton. Listen shape listens for some event to take place in its every branch. Suppose there are 3 branches in Listen shape and an event on 2nd branch takes place then all other branches would get terminated.

Sequential Convoy using Listen Shape 
I am going to demonstrate a sequential convoy using listen shape.
Suppose we have a file for Purchase order (PO) and a second file for Customer detail for that particular PO. We have to concatenate these two files and send it further.


Passing a message to BRE using call rules shape in biztalk

Business Rule Engine is a powerful tool in BizTalk stack for creating, testing, publishing, and deploying rule sets for our Business process. I am going to demonstrate how to call a policy from an Orchestration using call rules shape using message as the parameter.

Scenario : Suppose we receive a Customer details message which also contains the CustID. We'll check the CustID and see if the Customer is new or already a member. If the customer is new we'll set the IsNew field to YES.

First of all we'll start with creating FACTS in BizTalk Rule composer.
Open BizTalk Rule composer and go to Vocabularies and create a new Vocabulary and then create a new definition for XMLSchema and select the schema created in the project. For CustID a get operation is created as follows :

For IsNew a set operation is performed as follows :

After creating the vocabularies publish the vocabularies so that it can be
used to create a Policy.

Next step is to create a Policy and a rule in BRE. It g…

Parallel shape in biztalk example

Parallel shape in BizTalk is most confusing shape in Orchestration toolbox. I am going to give an example of parallel shape for removing this confusion.

What does Parallel shape in BizTalk do ?
Parallel shape in BizTalk is NOT used for concurrent processing. The Parallel shape enables you to complete different stages of business process without having to wait for another part of the business process to complete. It does not provide a separate thread per branch.

Example :

I have created an orchestration with a parallel shape which have 3 branches containing 3 expression shape.

1st Expression shape :

2nd Expression Shape :

3rd Expression Shape :

How parallel shape works :
When we drop a file at receive location Orchestration in instantiated and when control reaches the parallel shape, it starts it execution from left to right i.e. the 1st expression shape runs firstly and then rest of them. Even if we insert delay shape after 1st expression shape the 2nd expression shape does not get starts.…