![]() |
1
3
现在还不清楚你在这里遇到了什么问题,所以我将详细介绍你描述的每一个步骤,并介绍各种选择。希望其中一点能解决你的问题。 我一直在考虑可能的额外问题,所以这篇文章很有意思——我怀疑你的关键部分会是最后一个。 在Biztalk中使用ftp传输发送消息 让我们知道你是怎么相处的… 在业务流程中创建平面文件消息在Biztalk中,您从不以XML以外的任何格式创建业务流程消息。 要从Biztalk业务流程中创建平面文件消息,需要在设计时创建平面文件架构,然后在运行时生成此架构的实例,并通过在组装阶段配置了Biztalk平面文件组装程序的Biztalk发送端口将其发送出去。 平面文件架构只是一个带有特殊注释的XML架构,用于通知Biztalk平面文件组装程序如何将XML序列化为文本。 因此,在业务流程中创建平面文件消息实际上与在业务流程中创建任何其他文档格式相同。 在业务流程中创建消息那么,如何在Biztalk业务流程中创建新消息呢? 为了避免重新创建轮子, here 是马特·梅尔斯基关于这个话题的一篇相当经典的文章的链接。 要总结Matt所说的内容,要在Biztalk中创建消息的新实例,您可以使用四个主要选项:
和大多数事情一样,上面的每一个选项都有自己的长篇文章。 对于需要创建一个简单的单行文档的情况,映射选项(1)或xmldocument选项(3)可能会为您提供所需的位置。 在Biztalk中使用ftp传输发送消息我认为这可能是您的问题-如何用指定的文件名在Biztalk中发送FTP消息或平面文件格式。 有很多方法可以解决这个问题。我会给两个,希望第一个可以用,但你可以回到第二个。 1。设置receivedfilename并使用%sourcefilename%宏 在研究我的答案时,我认为这种方法不适用于ftp,但我发现了一个生产示例,我正在做这件事。试一试。
在编排中
在该邮件分配形状中,可以设置
这将设置一个上下文属性,然后在将静态发送端口连接到业务流程端口时使用该属性。在静态发送端口中,指定目标文件名如下的FTP适配器: %源文件名%.txt 然后,ftp适配器将替换%sourcefilename%宏,为您提供一个类似whateverfilename youwant.txt的文件名。 在发送端口中,然后需要指定一个发送管道,该管道包含用于您的平面文件格式的平面文件汇编程序。 2。将动态发送端口与对管道的编程调用一起使用 如果上述方法不起作用,则需要使用动态发送管道。 问题是,要在Biztalk中发送具有指定文件名的FTP消息,需要使用动态发送端口。 但是 使用动态发送端口时,您只能使用直通管道,因此没有地方可以指定平面文件汇编程序。 创建一个动态发送端口,该端口创建要在业务流程消息分配形状中跟踪代码的文件名(由提供 Christof Claessens' 博客):
那么,如何让这个动态发送端口发送一个平面文件格式的文件呢? 这个把戏已经讨论过了 here .您需要做的是从业务流程中调用发送管道(Biztalk2006中的新功能)。 要执行此操作的代码如下:
然后用平面文件格式的文本填充业务流程消息msg_output_ff。Biztalk仍然认为这是一个XML文档,但事实并非如此。当您通过动态发送端口及其直通管道发送此消息时,应该看到平面文件内容。 |
![]() |
2
1
也许你可以尝试两种最常见的选择:
查看有关创建平面文件的来自msdn的本演练: http://msdn.microsoft.com/en-us/library/aa577898(BTS.20).aspx
|
![]() |
Tristan · 如何在写入数据后打开txt文件? 6 年前 |
![]() |
Adam Hanek · 从命令创建文件夹并打印到文本文件 6 年前 |
![]() |
SoSo · 如何打开具有部分名称的文件并在c#[关闭]中读取其行 6 年前 |
![]() |
O. Schultz · 如何逐行提取特定关键字,然后声明为变量 6 年前 |
![]() |
thatsHeavyDoc · 缓冲区清除-输出不符合预期 7 年前 |