Using BizTalk Adapter with Dynamic Configuration and Promoted Properties


BizTalk adapters allow runtime configuration through message context properties, enabling flexible integration scenarios where connection and security settings can be defined dynamically within orchestrations.

Configuration Options

Version 3+

In version 3 and later, adapter settings can be applied either through promoted message context properties or by dynamically creating send ports within an orchestration.

When using static send ports, configuration values are passed through the message context, for example:

Message_2(nsoftware.BizTalk.FTP.User) = "user";
Message_2(nsoftware.BizTalk.FTP.FTPServer) = "server";

For dynamic ports, the endpoint and transport type can be defined at runtime:

OutgoingPortName(Microsoft.XLANGs.BaseTypes.Address) = "SFTP://user@server/RemotePath/%SourceFileName%";
OutgoingPortName(Microsoft.XLANGs.BaseTypes.TransportType) = "nsoftware.SFTP 2024";
// You'll need to configure additional properties via the message context
Message_2(nsoftware.BizTalk.SFTP.SSHPassword) = "password";

Certificate-based authentication and related settings are also supported through context properties, including PEM-based SSH keys:

Message_2(nsoftware.BizTalk.SFTP.SSHCertStoreType) = nsoftware.BizTalk.SFTP.CertStoreTypes.cstPEMKeyFile;
Message_2(nsoftware.BizTalk.SFTP.SSHCertStore) = "c:\test.pem";
Message_2(nsoftware.BizTalk.SFTP.SSHCertStorePassword) = "passphrase";
Message_2(nsoftware.BizTalk.SFTP.SSHCertSubject) = "*";

Logging can be enabled via context settings, with support for file or event log output:

Message_2(nsoftware.BizTalk.SFTP.TransportLogType) = nsoftware.BizTalk.SFTP.LogTypes.ltFile;
Message_2(nsoftware.BizTalk.SFTP.TransportLogMode) = nsoftware.BizTalk.SFTP.LogModes.lmVerbose;
Message_2(nsoftware.BizTalk.SFTP.TransportLogLocation) = "c:\\temp\\ftplog.txt";

Version 2

Earlier versions rely on promoted properties rather than fully dynamic ports. Adapter settings are mapped using macros in the port configuration, and values are supplied at runtime through the message context.

For example:

Message_2(nsoftware.BizTalk.FTP.User) = "user";
Message_2(nsoftware.BizTalk.FTP.FTPServer) = "server";

Enumerated properties, such as firewall settings, are configured by selecting “From Context” in the port wizard and passing the corresponding integer values through the orchestration.

We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@nsoftware.com.