I have seen various customers coming across the issue that Dynamic Send Port Handler feature in BizTalk is not working as expected.
Recently, I had a same case with a customer. They informed that they were having a performance degradation in their environment. They had a large number of Dynamic Send Ports which would use WCF-Custom adapter. So, they split the Hosts and created a new Host for WCF-Custom (Send) and configured that as the Dynamic
Send Port Handler. Now, they said that even when they configure Dynamic Send Port Handler, the port still uses the default Host specified for that Instance.
Ideally, it’s a fairly simple configuration so there should not be an issue but when we started the troubleshooting, we noticed that the port was indeed using the earlier configured default handler and not the new one. Later, we found that the customer had missed the step 5 in Dynamic Send Port Handler Configuration which is:
Why is this required?
- This issue occurs because the subscriptions in the BizTalk databases for the dynamic send port are written for the earlier Host.
- To modify the internal subscriptions so that everything works as expected we have to unenlisted and re-enlisted the dynamic send port (which also requires unenlisting and re-enlisting the orchestration that it is bound to).
- Restart the original host instance.
- Reason this is needed is because subscriptions are host-specific and the way dynamic send ports work is that they have an activating subscription per possible transport type. If you don’t unenlist/re-enlist, the subscription won’t be updated with the new host name in the MessageBox Database.
Hope this helps!!