BizTalk Server 2020 – 20 days, 20 posts – day 16. We are almost finishing migrating all the BizTalk Pipeline Components Extensions UtilityPack project, today is the component: Carry SOAPHeader To WCF-BasicHttp Pipeline Component.
📝 One-Minute Brief
Introduces the Carry SOAPHeader to WCF‑BasicHttp Pipeline Component for BizTalk Server 2020, a custom send‑pipeline component that forwards inbound custom SOAP headers to outgoing messages when using the WCF‑BasicHttp adapter.
Carry SOAPHeader To WCF-BasicHttp Pipeline Component
The Carry SOAPHeader to WCF‑BasicHttp Pipeline Component is a pipeline component for BizTalk Server that runs in a send pipeline. In this stage, it carries forward a custom SOAP header from the inbound message to the outgoing request.
First, the component reads the custom SOAP header directly from the message context properties.
Next, you define the SOAP header name in the component configuration. The component then retrieves the header value from thehttp://schemas.microsoft.com/BizTalk/2003/SOAPHeader
context property.
After that, the component writes the header into the OutboundCustomHeaders property used by the WCF‑BasicHttp adapter.
When using OutboundCustomHeaders, the value must contain a <headers> root element. Moreover, you must place all custom SOAP headers inside this element.
If the SOAP header value is empty, you must explicitly assign either <headers></headers> or <headers /> to the property.
Finally, this component proves especially useful when implementing content‑based routing (CBR) against legacy SOAP (.asmx) services while using modern WCF adapters. Keep in mind that the classic SOAP adapters still exist in BizTalk Server 2020 but are obsolete and discontinued.

This component requires one configuration, which is the SOAPHeaderName, where you should specify the SOAP Header name present in the inbound message to be passed to the OutboundCustomHeaders in the outgoing message.
To use this pipeline component in your projects, you just copy the CarrySOAPHeader.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:
- ..\Program Files (x86)\Microsoft BizTalk Server\Pipeline Components;
on every server.
You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).
What is BizTalk Pipeline Components Extensions Utility Pack?
BizTalk Pipeline Components Extensions Utility Pack provides a collection of custom pipeline components that developers can use in receive and send pipelines. These components extend BizTalk Server’s out‑of‑the‑box pipeline capabilities.
The project lives in the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity). Moreover, anyone can contribute new pipeline components or enhance existing ones to further improve BizTalk Server capabilities.

At the moment, this project is available for:
- BizTalk Server 2020;
- BizTalk Server 2016;
- BizTalk Server 2010;
- BizTalk Server 2006-2009
Download
You can download BizTalk Pipeline Components Extensions Utility Pack 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.