0

在使用 BizTalk 2013 中的 SFTP 适配器将文件发送到 ftp 位置之前,我尝试重命名文件。你能帮我解决这个问题吗?

4

2 回答 2

3

您需要将消息上的 FILE.ReceivedFileName 属性更改为新文件名。

如果您使用编排,您可以在消息分配形状内的表达式中执行此操作,如下所示:

OutboundMessage(FILE.ReceivedFileName) = "NewFileName.csv"

如果您不使用编排,则必须使用自定义管道组件。在组件中执行此操作的代码如下,位于管道组件的 Execute 方法中:

pInMsg.Context.Write("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties", "NewFileName.csv");

最后在 SFTP 适配器中将文件名设置为 %SourceFileName%

希望这可以帮助。

于 2014-12-23T15:35:57.617 回答
0

我相信每个适配器的上下文 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");

谢谢

于 2015-05-01T23:01:08.940 回答