【问题标题】:Renaming files using custom pipeline in BizTalk在 BizTalk 中使用自定义管道重命名文件
【发布时间】:2014-12-23 13:18:26
【问题描述】:

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

【问题讨论】:

  • 抱歉,您到底尝试了什么?要重命名文件,您必须创建一个自定义管道组件。

标签: biztalk biztalk-2013


【解决方案1】:

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

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

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

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

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

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

希望这会有所帮助。

【讨论】:

  • 只设置目标文件名不是更好吗?
  • @oɔɯǝɹ,这也是一个选项,但是这个解决方案对于测试更灵活——例如,如果您在不同的环境中使用 FILE 适配器或 FTP 适配器,则可以使用相同的属性
【解决方案2】:

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

谢谢

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 2012-03-05
    • 1970-01-01
    • 2012-02-03
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多