Adapters, BizTalk, Download, SFTP

Blogical SFTP Adapter v1.3

I’ve updated the Blogical SFTP Adapter previously released to codeplex by Mikael to include a couple of new features that have been requested and developed for or by customers or community.




  • The abaility to leave files on the source server and rename them instead of deleting them after get.


  • The ability to give a name, not only for the temp path but for the temp file, written to the source server through a send port, to be used for example when you want to directly to the destination folder and only want it to have it’s final name once fully written.


  • The ability to after you have put a file verify that it is really the same size (bytes) as the stream delivered to the adapter by BizTalk. This can be useful when you distrust the network or the receiving server, and causes a delete of the remote file and a following retry in BizTalk should the file sizes no match.

Read more and get the Blogical SFTP Adapter here.


With the above said, we are trying our best to react to requests and suggestions for improvement as well as direct bug reports. For minor or easily adjusted feature additions or bug fixes we are happy to help you right away. For major feature requests or custom development, we will try our best to make it happen, but things might be speedier if we set up a business arrangement around that, if you have such requirements. Please feel free to contact us, though all comments and suggestions should as a first option be posted on the discussions board of the Blogical SFTP Adapter at codeplex.

Adapters, BizTalk, Orchestrations, SFTP

Using the SFTP Adapter in a Dynamic Send Port

In the comments to a previous blog post announcing the Blogical SFTP Adapter I got a question regarding the use of the SFTP Adapter in a Dynamic Send Port. The answer I was forced to give was that the SFTP Adapter did not in its current state support being used in a Dynamic Send Port. Not being one to shy away from a challenge, and eager to show we listen to feedback, I have added the artifacts and code necessary to support Dynamic Send Ports. Mikael has included my change and it will be available in the next release of the adapter to codeplex. The problem was that the adapter had no propertyschema, and so there was no way to access the properties needed from within an orchestration, and no support in the adapter for loading properties from anywhere but its configuration. It now has those things. The installer and source download now includes a propertyschema and the adapter looks at the message context if the config is null, which it will be in a Dynamic Send Port.


So, to use the SFTP adapter from your orchestration and a Dynamic Send Port, use something similiar to the below code:

DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address) = “SFTP://server:22/”;
MsgOut(BTS.OutboundTransportType) = “SFTP”;
MsgOut(Blogical.Shared.Adapters.Sftp.Schemas.host) = “server”;
MsgOut(Blogical.Shared.Adapters.Sftp.Schemas.portno) = 22;
MsgOut(Blogical.Shared.Adapters.Sftp.Schemas.user) = “user”;
MsgOut(Blogical.Shared.Adapters.Sftp.Schemas.identityfile) = @”c:mysftpkeyfile.ppk”;
MsgOut(Blogical.Shared.Adapters.Sftp.Schemas.remotefile) = “OUT_%SourceFileName%”;

I’d post a full downloadable sample, but there really isn’t anything more to it then that. You should however take a look at the propertyschema, available in both the binary download and the source, to see which properties you can use.