【发布时间】:2014-12-23 13:18:26
【问题描述】:
我尝试在使用 BizTalk 2013 中的 SFTP 适配器将文件发送到 ftp 位置之前重命名文件。您能帮我解决这个问题吗?
【问题讨论】:
-
抱歉,您到底尝试了什么?要重命名文件,您必须创建一个自定义管道组件。
标签: biztalk biztalk-2013
我尝试在使用 BizTalk 2013 中的 SFTP 适配器将文件发送到 ftp 位置之前重命名文件。您能帮我解决这个问题吗?
【问题讨论】:
标签: biztalk biztalk-2013
您需要将消息上的 FILE.ReceivedFileName 属性更改为您的新文件名。
如果您使用编排,您可以在消息分配形状内的表达式中执行此操作,如下所示:
OutboundMessage(FILE.ReceivedFileName) = "NewFileName.csv"
如果您不使用编排,则必须使用自定义管道组件。 在组件中执行此操作的代码如下,位于管道组件的 Execute 方法中:
pInMsg.Context.Write("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties", "NewFileName.csv");
最后在 SFTP 适配器中将文件名设置为 %SourceFileName%
希望这会有所帮助。
【讨论】:
我相信每个适配器的上下文 URL 是不同的。
你需要的是:
SFTP:
http://schemas.microsoft.com/BizTalk/2012/Adapter/sftp-properties
所以你的情况是:
pInMsg.Context.Write("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2012/Adapter/sftp-properties", "NewFileName.csv");
谢谢
【讨论】: