Connected Pawns

October 20, 2016

BizTalk Documenter for BizTalk Server 2016

Filed under: BizTalk — mbrimble @ 2:03 pm

The BizTalk Documenter has been compiled and refactored for .Net 4.6 and BizTalk 2016 Tap release.
This will only work for BizTalk 2016.

October 11, 2016

Integrating Apache ActiveMQ with BizTalk Server–Memory Issues

Filed under: BizTalk — Tags: , — mbrimble @ 12:08 pm

We followed Mohamed M Malek and used the WCF-WebHTTP adapter to integrate with the Apache ActiveMQ Rest API.  Initially we used a HTTP GET to consume the message but discovered that after a while the central message broker ran out of memory. Researching the Apache documentation we discovered that you can consume messages by browsing to the subscription but you must then DELETE the message when you have finished processing it,  to acknowledge a particular message.

We tried to acknowledge our HTTP GET with a subsequent HTTP DELETE but could not DELETE the message from the queue. It had already been removed from our subscription.

In the end we changed from using a HTTP GET to a HTTP DELETE.  The Apache documentation says you can use either a HTTP DELETE or GET to consume the message. We found that response was identical whether we used GET or DELETE. What was more pleasing was that the memory no longer increased on the central message broker and this solved our issue. Thanks to Deepa Kamalanathan for working all this out.


October 4, 2016

What’s wrong and right with the BizTalk WCF-WebHTTP adapter

Filed under: BizTalk — Tags: , — mbrimble @ 3:15 pm

Colin Dijkgraaf and I presented this on Integration Monday today. In this session we showed why the WCF-WebHTTP adapter requires some workarounds. We used BizTalk 2016 Tap release to demonstrate these workarounds. The presentation and PowerPoint presentation can be downloaded from here.


September 18, 2016

Where has my Azure Service Relay gone?

Filed under: Azure — Tags: , — mbrimble @ 8:06 am

The Service Bus Preview does not display Azure Service Bus Relays in my hands.

The Service bus is in preview in the new Azure Portal and I used it to create this service bus. I created a Azure Service bus relay but could not find it  anywhere in the new portal. Without this it is not easy to check whether you have created the relay or not.


Thankfully when I checked the old portal I can still see the Azure Service Bus Relay that I created.


I hope the Microsoft team fix this before it comes out of preview.

August 2, 2016

My First Logic App

Filed under: Azure, BizTalk — Tags: , , — mbrimble @ 6:11 pm

I really like this logic app pattern.


The NZ Post parcel events application ( will not repeat an event. I decided to expose http endpoint in an azure Logic App and send these to a Azure Service Bus. I then I retrieve the message using a BizTalk SB-Messaging adapter, whenever I am ready and then do all the heavy lifting.

This was a brilliant experience with a customer in front of me. All done in less than 15 minutes!

July 16, 2016

BAM: “..One of more database(s) appears corrupted..”

Filed under: BizTalk — Tags: — mbrimble @ 6:06 am

I got this error.


Checking the event log I saw a BAM Web Service Error like

System.Web.Services.Protocols.SoapException: There are instances with duplicate ID ‘\\MyServer\customer-b2c-dw_wsl_delta201604131734004.xml’ in activity ‘GenericCountOfTrackedMessages’. The duplicates must be removed from the database to fix this problem.

Running the following query showed the duplicates in two of the partitions.

SELECT * FROM [BAMPrimaryImport].[dbo].[bam_GenericCountOfTrackedMessages_20ED6B1B_734C_4980_B213_792B16DF734B] where ActivityID IN (SELECT ActivityID FROM dbo.bam_GenericCountOfTrackedMessages_00C024D3_BCC3_4E02_A428_3358E482BF4F)


I decided to delete these duplicates from one of the partitions with



FROM [BAMPrimaryImport].[dbo].[bam_GenericCountOfTrackedMessages_20ED6B1B_734C_4980_B213_792B16DF734B] where ActivityID IN (SELECT ActivityID FROM dbo.bam_GenericCountOfTrackedMessages_00C024D3_BCC3_4E02_A428_3358E482BF4F)

This worked and the query of this BAM activity now works without the above error.

June 7, 2016

The parameter is incorrect (WinMgt) error when refreshing the BizTalk Group Hub

Filed under: BizTalk — mbrimble @ 9:32 am

If you want to know one way of solving this see


May 21, 2016

BizTalk 2016 CTP1–BizTalk Health Monitor(BHM)

Filed under: BizTalk — Tags: — mbrimble @ 1:58 pm

It is a miserable rainy Saturday morning in Auckland and I decided to have look BizTalk 2016 CTP1. I had set up two SQL servers, many Always on instances and then configured a BizTalk server. Before going further to set up the SQL Always On availability groups I wanted to check that i had configured everything correctly. Thus I configured the BHM from the Support tools folder that comes with BizTalk 2016 CTP1 in the same way that Sandro has previously described for BizTalk 2013R2. I discovered that the BHM that comes with BizTalk 2016 CTP1 is a very old version.

old BHM2

This showed me that everything was Ok but I had not set up the back up job for the databases.

I thought it would be interesting to see if the latest version of the BHM v3.2 could be run on BizTalk 2016 CTP1. I suspected I might get an amusing critical error and I did as shown below. BHM v3.2 installed without error and the latest repository update downloaded easily. All the functionality BHM v.3.2 seemed to work but I have not tried to run terminator yet. This is pleasing because I think that the BHM is a very useful tool for support analysts to use.


In summary the latest version of the BHM seems to work with BizTalk 2016 CTP1. The .Net version warning made me laugh but it is understandable that the repository update does not know about BizTalk 2016 CTP1 yet. I hope that the final version of the BHM ships with v 3.2 + instead of the original version and that the repository update starts to know about BizTalk 2016.

Blast from the Past: BizTalk Orchestration Throttling Pattern

Filed under: BizTalk — Tags: , — mbrimble @ 9:23 am

Some us still do classical BizTalk Server development and recently I was faced with an old age problem namely “limiting the number of calls to a web service”. This Oracle CRM on Demand service would only allow a maximum of 5 concurrent calls. Up until now we had just limited the number of connections with an entry in the BizTalk Server configuration file. In the past we did not care if requests had to retry a couple of times because there was no in order or latency requirements. Recently a new requirement required a low latency response from this service and we could not tolerant timeouts or any retries.

I was pleased to find an old article by Seroter that show us what to do. This is based on an old BizTalk HotRod magazine article by Scott Colestock which is unfortunately no longer available. I have placed a copy of this old article in my archive here.

Time has not affected this pattern and soon we had it all working. We choose to throttle the connections that did not require low latency to 3 and were surprised to find the a sudden burst of requests processed in about the same time with and without the throttler. Clearly BizTalk still processes this very quickly but this time without retrying. This left at least two connections available for our low latency requests. This will do for now as soon we will move our endpoints to Salesforce which allows more concurrent connections.


May 19, 2016

Warning: BizTalk 2013 R2 is unsupported if you install .Net 4.6

Filed under: BizTalk — mbrimble @ 6:24 pm

A new critical warning has appeared in the BizTalk Health Monitor for all of our BizTalk 2013 R2 servers after the latest repository update from Microsoft as shown in the screenshot below.


How did this occur? We built our BizTalk servers using .Net 4.5. This is the supported version of .Net for BizTalk servers. On investigation we discovered windows patching had installed a recommended security update (Microsoft .NET Framework 4.6.1 is available on Windows Update and WSUS) that installs .Net 4.6. The windows patching does not occur automatically and the server team applied this patch because they thought it was recommended by Microsoft.


There is good reason as to why they have installed 4.6 as Microsoft support has ended for 4.5.1. “Support Ending for the .NET Framework 4, 4.5 and 4.5.1. As previously announced, starting January 12, 2016 Microsoft will no longer provide security updates, technical support or hotfixes for .NET 4, 4.5, and 4.5.1 frameworks. All other framework versions, including 3.5, 4.5.2, 4.6 and 4.6.1, will be supported for the duration of their established lifecycle. The decision to end support for these versions will allow us to invest more resources towards improvements of the .NET Framework.”Microsoft .NET Framework 4.6.1 is available on Windows Update and WSUS.

What was missed is that .Net version 4.5.2 is supported going forward.

We have been running without any obvious errors since 18 March , so what it he big deal.

We considered 3 mitigations to this critical warning;

1) Ask Microsoft to certify that .Net 4.6 runtime is supported.

2) Attempt to uninstall and block  KB3102467.

3) Do nothing and carry on.

I initially thought we should ignore this warning and carry on and not do anything because the Microsoft warning is not correct. I reasoned that the .Net version 4.6 is supported at runtime and that .Net version 4.5 is only supported at compile time. We compile all our code with the .Net version code set to 4.5 because this is a Microsoft requirement. The .net 4.6 runtime is backward compatible with .net 4.5 and .net 4.5 assemblies should run without any issues. This is what we have observed because we have been running with the.Net 4.6 version for many months now without any known issues.  A sequitur on this is that the 4.6 runtime is safe as long as the compile time is set to 4.5. Unfortunately the official word is that “BizTalk Server 2013 R2 only supports .Net framework 4.5.2 . As of now if we are on 4.6X  then you are on unsupported version.”

Thus our only option is to uninstall .Net 4.6 and reinstall .Net 4.5.2 if we want to be supported. How risky is that?

I wonder how many other people would admit to falling into this trap. Please reply to this email me or reply to this blog  if you have. Go check the .Net versions that are running on your BizTalk 2013 R2 servers now.

POSTSCRIPT added 31/5

We have successfully removed .Net 4.6 and blocked future upgrades from .Net 4.5.2. by the uninstalling the KB3102467.

Older Posts »

Blog at