Custom widgets are one of the new features in BizTalk360. These widgets are small web-snippets, which can be used to show dynamic data on a BizTalk360 dashboard. In this post I will show you how we can use these widgets together with Power BI to create a dashboard with information about our BizTalk environment. The data for this dashboard can be retrieved from tracking databases, BAM, etc. Tord Glad Nordahl has done a session at the BizTalk Summit 2015 on how BAM can be exposed via Power BI.
At one of our customers I have set up BizTalk360 as their BizTalk monitoring environment. All in all, they are very happy with it, but we ran into one problem. When they tried to suspend or resume an instance, they would get the following error:
Unable to enlist in the transaction.
System.Runtime.InteropServices.COMException (0x8004D00A): Unable to enlist in the transaction.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObjectinParameters, InvokeMethodOptionsoptions)
at System.Management.ManagementObject.InvokeMethod(String methodName, Object args)
at A.cf0555bb9c0f6a0aebd67da53b41e6535.cc49ef4e8476b31546c8cfd644bd22a66(String c3ce089d4844970dd178d4bf819010021)
at Kovai.BizTalk360.BusinessService.Main.BizTalkQueryBusinessService.ExecuteServiceInstanceOperation(ServiceInstances serviceInstances, ServiceInstanceOperationoperation)
at Kovai.BizTalk360.WCFService.BizTalkQueryService.ExecuteServiceInstanceOperation(BizTalkQueryServiceRequest request, ServiceInstances serviceInstances, ServiceInstanceOperation operation)
After some research, I found out this was a problem with the DTC service, which was not enabled on the BizTalk360 machine. To solve it, follow these steps (on Windows Server 2008 R2).
First open the Component Services snap-in by giving the command dcomcnfg in the start menu. In the tree, open Component Services, Computers, My Computer, Distributed Transaction Coordinator, and finally right-click on Local DTC and select properties. Go to the Security tab, enable Network DTC Access, Allow Inbound and Allow Outbound, and click OK.Now restart your BizTalk360 service, and things should be working.