You may all remember Richard Seroter’s BizTalk SendPort Duplicator tool and how he described that frequently during development, and even in production, we have a need to create new BizTalk ports that are virtually identical to an existing one, where we just need to change some small configurations like:
- Address/URI;
- Send Port Filter criteria;
- Different pipelines or pipeline components configuration;
- And so on.
And by default, the only options we have are:
- Export the application binding files, manually clean the file, change the values, and then import the Binding file again.
- Or manually recreate the entire port again.
Both options are time-consuming and need a lot of manual work.
📝 One-Minute Brief
Introduces the BizTalk Port Multiplier Tool, a utility that simplifies and accelerates the cloning of Send Ports and Receive Ports, reducing repetitive manual configuration tasks in BizTalk Server environments.
And Richard Seroter was, and still is, an amazing lifesaving tool that allows you to duplicate send ports easily, so why a new tool?
“BizTalk Port Multiplier Tool” has all of Richard’s tools’ functionalities, but is more than just a Send Port Duplicator, which is why I decided to create a new tool. It is a simple tool that aims to simplify the port “cloning” process by allowing you to easily “clone or duplicate” any existing port: Receive Port or Send Port.
- Send Ports are easy; you only need to give a different name to the port, and you can clone it.
- Receive Ports are tricky because they may contain several Receive Locations, and the URI needs to be unique.
This tool will extend default BizTalk Server capabilities, transforming the tedious and sometimes complicated port creation based on an existing one into a simpler and easy allowing you to:
- Create a new Receive Port based on an existing one.
- It will also export the binding file from that new Receive Port.
- Create a new Send Port based on an existing one.
- It will also export the binding file from that new Send Port.
- Generate different binding files for each environment.
Why do I need to “clone” a Receive Port?
Sometimes you also need to create a receive port with similar configurations to an existing one, also changing only a few configurations or simply the URI, and instead of manually recreating, you can have 90% of the process done automatically.
Sometimes it is practical, sometimes it may not work in some scenarios, but in most cases, it will. So it is basically a best-effort operation and not an exact clone because they may have several Receive Locations, and the Address/URI needs to be unique. So, you then need to go to each receiving location and reconfigure it.
Credits
Credits also to my team member at DevScope, Pedro Almeida, who collaborated in the development of this tool.
Download
You can download the BizTalk Port Multiplier Tool 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.


Nice tool Sandro, the tool seems to work with 1 version of ExplorerOM. I have on my desktop version 2k16 but when I try to access a BTS2K13 DB, I get the following error
Microsoft.BizTalk.ExplorerOM.BtsException
HResult=0x80131600
Message=The database or the database version is incompatible with the installed version of this product.
Source=Microsoft.BizTalk.ExplorerOM
StackTrace:
at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.set_ConnectionString(String value)
at BizTalk_Port_Multiplier.mainForm.LoadResources() in C:\Projects\Workspaces\GitProjects\Source\Repos\BizTalk-Port-Multiplier\BizTalk Port Multiplier\mainForm.cs:line 349
….
….
Hi Salam,
Yes at the moment the tool was made only for BizTalk Server 2016