Issue: Customer using Dynamic send port configuration without Orchestration. Unable to configure retry settings for Dynamic send port as static retry configuration not possible from BizTalk Admin console.

Fix provided: Create BizTalk custom pipeline component with below property bag properties:

Read ActualRetryCount value from instance execution and update retry count value at runtime using below piece of code from Execute block in send pipeline component:

public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(Microsoft.BizTalk.Component.Interop.IPipelineContext pc, Microsoft.BizTalk.Message.Interop.IBaseMessage inmsg)
var actualReadCount = inmsg.Context.Read("ActualRetryCount", "");
int intActretryCount = int.Parse(actualReadCount.ToString());
var leftRetryCount = RetryCount - intActretryCount;
if (leftRetryCount < 0) leftRetryCount = 0;
inmsg.Context.Write("RetryCount", ";, leftRetryCount);

inmsg.Context.Write("RetryInterval", ";, RetryInterval);
catch(Exception ex)
System.Diagnostics.EventLog.WriteEntry("Retry Setting Error", ex.Message + ".StackTrace:" + ex.StackTrace);
throw ex;
return inmsg;