从两个 BizTalk 发送端口获取相同的文件名

问题描述

在 BizTalk 2016 中,我们正在计划一些有一组发送端口的东西。一个去我们的备份。另一个是要存档。备份发送端口已创建。它的文件名必须是不带引号的“ExampleText%MessageID%.xml”。不幸的是,这不会为我们提供两个文件位置的确切名称,因为 %MessageID% 是随机生成的信息。

我们将制作一个代码来比较备份中每个文件文件名是否与存档文件夹中的文件名相同,以检查是否所有内容都在那里。有什么办法可以走这条使用两个发送端口并在两个位置获取确切名称的路线吗?

除此之外,我们还有另一个设置,其中备份发送端口必须具有不带引号的文件名“%sourceFileName%_%datetime%”。我担心一个发送端口会在 %datetime% 不同的地方延迟。我的老板想朝这个方向发展,而不是创建一个自动脚本来移动文件。任何建议都会非常有帮助。

解决方法

您需要在通过 BTS.ReceivedFileName property 到达发送端口之前设置所需的文件名,然后您可以在两个端口上使用 %SourceFileName% 宏。

您可以在 Orchestration 中设置此属性,也可以在 Receive Location 的管道组件中设置它。为此,我倾向于使用 BRE Pipeline Framework,但您可以编写自己的自定义组件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...