0

我们要创建一个通用的 wcf 接收位置,它必须非常通用,就像文件适配器一样,只接收它接收到的任何内容并传递到消息框,即它应该允许客户端提交一个 zip 文件,一个平面文件或任何 xml,我很困惑如何实现这一点,我只能想到将架构定义为 xsd:any child,但它适用于 zip 文件吗?

非常感谢提前

4

1 回答 1

2

有两种可能的方法可以在单个位置执行单独的消息“解包”。使用其中任何一个,您都需要构建、购买或借用自定义管道组件进行解压缩,因为这不是标准的 BizTalk 功能。以下管道组件使用开源 zip 库: http: //www.codeproject.com/Articles/12867/UnzipDisassembler-A-custom-pipeline-component-for

您现在可以创建一个自定义管道,其中包含解压缩反汇编程序、平面文件反汇编程序和 Xml 反汇编程序,所有这些都在管道的反汇编阶段。这应该能够拾取和解包任何类型的文件。

不过,更好的建议是使用 3 个不同的接收位置,全部连接到同一个接收端口,使用单独的文件掩码过滤器(“ .zip”、“. csv”、“*.xml”)来确定哪个文件取货和处理。如果您稍后需要添加不同的文件类型,这将更有效,并且更易于增强。

于 2012-04-12T03:47:52.920 回答