Exciting news… Version 1.7.0.0 of BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 is now available!
But before talking about the changelog of this version, there is another subject that I want to talk about first… This project, as a new member, was responsible for all the new features in this version: my friend René Brauwers.
René is a senior Microsoft integration specialist at Motion10 with its head office in the Netherlands (www.motion10.nl). His career started in 2000 as a web developer/designer on the Microsoft platform. At the end of 2002, he got involved in the EAI/BPM world, starting with WebMethods and working on it for the next 3 years. In 2005, he returned his focus to the Microsoft integration stack and, as such, was introduced to BizTalk Server 2004. Since 2005, he has worked with almost all versions of BizTalk Server, and in the last few years, he has specialized in Cloud integration with the Windows Azure platform and hybrid integration scenarios.
📝 One-Minute Brief
This post announces the v1.7.0.0 update of the BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013. This community-driven library provides a suite of custom functoids to simplify complex mapping tasks, such as String manipulation, Date/Time conversions, and Math operations, without requiring custom XSLT. The update includes new functoids and performance improvements, and it is available for download on GitHub.
Here’s the changelog for this release:
- Two new functoids:
- String Remove Leading Zeros Functoid.
- Get Windows Azure ACS Wrap Token Functoid.
- New deployment process using a PowerShell script.
- New documentation.
What’s new in this version?
Although BizTalk Server provides many functoids to support a range of diverse operations when working with strings or working/connecting with Windows Azure, we are limited to the number of existing operations. This new version will provide a new library that enables you to obtain an authentication token from the Windows Azure Access Control Service and new String operations.
This version will also provide a new simplified deployment process using a PowerShell script.
Get Windows Azure ACS Wrap Token Functoid
This functoid allows you to obtain an ACS WRAP access token in order to access a Windows Azure BizTalk Services Bridge or Windows Azure Service Bus resources. Note that this token needs to be added to the outbound request message HTTP Header. In order to do so, use the Authorization key and assign its value as ‘WRAP access_token={RECEIVED TOKEN}’.
Parameters:
The functoid takes four mandatory input parameters:
- A string issuerName – Issuer name belonging to the BizTalk Service namespace or Windows Azure Service Bus namespace.
- A string issuerKey – Issuerkey belonging to the BizTalk Service namespace or Windows Azure Service Bus namespace.
- A string endPoint – Full Uri pointing to the BizTalk Service Bridge or Windows Azure Service Bus queue/topic.
- A string windowsAzureACSNamespace – BizTalk Service or Service Bus ACS namespace name.
NOTE
Service Bus ACS namespace should be in the format {namespace}-sb.
In the case of doubt, please log in to the Windows Azure Management Portal. Select Service Bus. Make a note of the name of the namespace to use and append –sb to it. You now have your ACS namespace (i.e. acme-sb)
BizTalk Services ACS namespace should be in the format {namespace}{number}-bts
In the case of doubt, please log in to the Windows Azure Management Portal. Select BizTalk Services. Select the correct BizTalk Service and select Connection Information. A window will pop up containing the namespace (i.e., acme123-bts)
The output of the functoid is a string. Example:
net.windows.servicebus.action=Listen%2cManage%2cSend&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2facsnamespace-bts.accesscontrol.windows.net%2f&Audience=http%3a%2f%2fnamespace.biztalk.windows.net%2fdefault%2f%2fRCVINBOUND&ExpiresOn=1390169379&Issuer=https%3a%2f%2fnamespace2786-bts.accesscontrol.windows.net%2f&HMACSHA256=pHxuXvfPSkvq4TRyB5F%2fj%1fUtC1m3TyQKEJ6%2bkO8mhQg%3
The output should then be added to the Authorization HTTP header of the outbound message. Example: [“Authorization”] = String.Format(“WRAP access_token=\”{0}\””, <YOUR TOKEN>);

String Remove Leading Zeros Functoid
This functoid allows you to remove any leading zeros from an input string.
Parameters:
The functoid has one mandatory parameter:
- Input string that contains leading zeros that need to be removed.
The output of the functoid is an integer which is equal to the input instance, but then with the leading zeros removed.

Download
You can download the source code and Application Binaries from GitHub:
Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son.