I have created this presentation to show the concept of BizTalk server as Enterprise Application Integration. And about how does BizTalk fit in the Enterprise Application Integration concepts, How does BizTalk fulfill the Security criteria, Error Handling and Business Monitoring
Enterprise Application Integration:
In modern era, the concept of EAI is more relevant in IT industry. This is era of SAAS (Software as a system) and from large to small company everyone tries to create product and sell. And every organization cannot depend on one software or technologies. So, Enterprise integration becomes the vital part of organization. In software industry there are several tools available for integration to make easy and effective integration. In below PPT I have provided brief details of Enterprise Integration.
The local MS DTC detected that the MS DTC on database has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP.
Whenever any BizTalk configuration issue occurs then first we need to check event log. Because in log file we may not get proper reason for failed.
Sometimes after installation of BizTalk, when we are configuring BizTalk in multi-server environment then some issue occurs. Above issue occur when there is used multi-server SQL Server. And create a sql instance for that. When we are creating multi-server SQL Server, then most probably create clone of the Server in this case msdtc may be corrupted.
In above failed scenario we need to uninstall the install msdtc on SQL Server through command prompt.
There is not require any specific folder location. We just need to run command prompt as administration and the type the below code.
command prompt: >msdtc -uninstall
If require then restart SQL Server Service from Services.msc
SSO Application configuration requires to reduce burden on BizTalk Configuration file, because using BizTalk configuration file some time create problem if any one by mistake update some invalid data then it will not run any BizTalk application. Also, you cannot set up value from BTSConfig in custom pipeline. So, to overcome this issue, there is a tool provided by Microsoft as SSOConfigurationMMCSnapIn along with SSOHelper class file.
below is the link of download SSOConfigurationMMCSnapIn software which you need to install on the system.
BizTalk 2016 has some issue with SSO Configuration Application MMC Snap-In. So Sandro Pereira has created a new tool BizTalk.Tools.SSOApplicationConfiguration to setup the data. you can download from below reference:
For more details you can refer to below reference:
You need to create a dll file to read the key/value pair from sso configuration. SSOClientHelper.cs file is also available in SSOConfigurationMMCSnapIn downloaded file. If you doesn’t find, then create dll based on below code and gac it. Below code is mentioned in that cs file.
public class ConfigurationPropertyBag : IPropertyBag
private HybridDictionary properties;
properties = new HybridDictionary();
public void Read(string propName, out object ptrVar, int errLog)
ptrVar = properties[propName];
public void Write(string propName, ref object ptrVar)
public bool Contains(string key)
public void Remove(string key)
public static class SSOClientHelper
private static string idenifierGUID = “ConfigProperties”;
public static string Read(string appName, string propName)
SSOConfigStore ssoStore = new SSOConfigStore();
ConfigurationPropertyBag appMgmtBag = new ConfigurationPropertyBag();
((ISSOConfigStore)ssoStore).GetConfigInfo(appName, idenifierGUID, SSOFlag.SSO_FLAG_RUNTIME, (IPropertyBag)appMgmtBag);
object propertyValue = null;
appMgmtBag.Read(propName, out propertyValue, 0);
catch (Exception e)
Code for reading Key Value data as defiled above
string archiveFilePath = SSOHelper.SSOClientHelper.Read(“ApplicationName”, “KeyName”);
You can use above code template in custom pipeline, orchestration or any other BizTalk components.
Webhost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/33808916
Exception: System.ServiceModel.ServiceActivationException: The service ServiceName.svc cannot be activated due to an exception during compilation. The exception message is: Receive location for address ServiceName.svc not found. (The BizTalk receive location may be disabled.). —> Microsoft.BizTalk.Adapter.Wcf.AdapterException: Receive location for address ServiceName.svc not found. (The BizTalk receive location may be disabled.)
This will happen when BizTalk web Service getting corrupted. Sometimes if we update user credential and forgot to update on respective service e.g. Enterprise SSO, BizTalk Host, Application Pool identity on IIS then it will happen
- Check application pool identity user on IIS with BizTalk Isolated Host User. Both user should be same
- Change application pool or create new application pool and assign the web service corresponding to the same.
if first two approach doesn’t work then we have to go for below approach
- Need to remove BizTalk application from BizTalk Administration Console and redeploy again along with publishing web service, its lengthy process but we must do. I was stuck for a week for trying to solve this in other way.
XML is missing in XMLDisassenbler stage: There was a failure executing the receive pipeline: Source: “XML disassembler” Receive Port URI Reason: Item has already been added. Key in dictionary: ‘Request’ Key being added: ‘Request’
When we use ESB pipeline in BizTalk Receive location, this will happen when there is multiple schema in BizTalk admin console though different application. We need to specify the schema in the pipeline through help of below link:
Issues: The type or namespace name does not exist in the namespace in orchestration.
Reason: When we have start building solution and add orchestration. And after some time we change the name or design of the solution. And then if we create a new orchestration, that orchestration would have different namespace from older solution because solution name has been changed. So if we have two or more orchestration then they have different namespace. That’s why this issue occur when we try to build the solution.
Solution: You need to verify the type namespace in each orchestration, namespace should be unique through out all orchestration in one solution.
in short, Orchestration namespace should be same for all orchestrations under one bizTalk solution