BAM Pitfalls with BizTalk Server 2013

Introduction

The setup of BAM Views with BizTalk Server 2013 can give you with some issues listed there in this article. For some of these issue I will provide some background information and provide you solution to the given issues.

Do not use BAM.xla which comes with BizTalk Server 2013

The installation bits of BizTalk Server 2013 contains a file called BAM.xla. This file is an Excel add-in which is used to define the data you are interested in, by defining Business activities. You can read more about this part of building BAM solutions on MSDN (see http://msdn.microsoft.com/en-us/library/aa546725.aspx).

You start creating BAM solutions, by opening Excel, enable the Add-in to the ribbon and start defining the desired Business activities. However, when you try to enable the Add-in which comes with BizTalk Server 2013, you’ll get the following error:

“Could not load an object because it is not available on this machine”

Even after applying BizTalk Server 2013 Cumulative Update 2 the problem still exists. Other users have reported the same issue.

Solution approach: It can be fixed by taking the BAM.xla from BizTalk Server 2010 (or BizTalk Server 2013 Beta).

BAM.xla on Excel 64-bits doesn't work

When you try to add the BAM.xla to the ribbon of Excel (2010 or 2013), you get the following error:

As stated, the code of the BAM.xla add-in must be updated for use on 64-bits systems. What is actually meant, is that you installed the 64-bits version of Excel and that BAM.xla is not compatible with this version of Excel. The error further states that you should update the Declare statements in the code of BAM.xla and mark them with the PtrSafe (http://msdn.microsoft.com/en-us/library/office/gg278832.aspx) attribute. But even when you have done that, you still get compilation errors complaining about missing references and not being able to load non available objects (see below).

Solution approach: The official documentation of BizTalk Server describes that only the 32-bits version of Microsoft Office/Excel is supported, so obviously the simplest solution is to uninstall the 64-bits version of Excel and install the 32-bits version.

BAM Portal doesn’t like SQL Server in Mixed Authentication Mode

This issue is not related to just BizTalk 2013, but as it also occurs with BizTalk 2013, it's worth mentioning it anyway. After you have installed and configured BAM and you have deployed a view, you open the BAM Portal. Even without having deployed a Tracking Profile you should be able to see the view. However in the left hand side pane the following error shows up:

“Views or Activities may be missing because one or more database(s) could not be contacted”

This behavior is described in more detail in this article (http://blogs.msdn.com/b/tihot/archive/2006/06/13/630313.aspx), but the general approach to find and fix the root cause is described here briefly as well.

Solution approach: First you’ll have to check the Event Viewer for related entries. You’ll find an entry which describes that the BAMPrimaryImport database is not accessible due to a NullReferenceException. Next you’ll have to enable tracing for the BAM Web Services. Do this by opening the web.config file in folder: 

**            C:\Program Files\Microsoft BizTalk Server 2013\BAMPortal\BamManagementService**

and uncomment the <system.diagnostics> area. By refreshing the BAM Portal the trace file will contain more information about the root cause. By default the trace file can be found in: 

            C:\Temp\BamManagementServiceTrace.log

In the trace file you’ll find the root cause:

“ThrowHelperSoapException Error 11007 Cannot determine the SID for the user”

Behind the scenes the BAM Web Services will try to find the Windows identity for the dbo user in SQL Server, as this user has permissions to all BAM Views. However this will fail if that’s a SQL account. You can fix this problem by changing the dbo accounts for all BAM databases to Windows accounts. Therefore you should run the following script:

use BAMPrimaryImport
go

sp_changedbowner 'domain\user'
go

Now you can refresh the BAM Portal again and find out if the BAM Views are now shown correctly.

Use BAM Portal with Internet Explorer 10 in Compatibility Mode

When using Internet Explorer 10 for viewing the BAM Portal and you notice that, in the Column Chooser section, you can’t move columns to the 'Items to show' List Box, you should check if you are running Internet Explorer in Compatibility Mode.

Solution approach: Compatibility Mode becomes selected by clicking on the small ‘broken page’ icon in the address bar.

Note: This is a known issue that is described in the What's New in BizTalk Server 2013 article on MSDN (http://msdn.microsoft.com/en-us/library/jj248703(v=bts.80).aspx).

See Also

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.