我们要创建一个通用的wcf接收位置,它必须是如此通用,它几乎就像文件适配器只是接收它收到的任何内容并传递到消息框,即它应该允许客户端提交一个zip文件,平面文件或任何xml,我很困惑如何实现这一点,我只能想到定义架构以拥有xsd:任何子项,但它是否适用于zip文件?
非常感谢
答案 0 :(得分:2)
有两种方法可以在一个位置内执行单独的“解包”消息。使用其中任何一个,您将需要构建,购买或借用用于解压缩的自定义管道组件,因为这不是标准的BizTalk功能。以下管道组件使用开源zip库:http://www.codeproject.com/Articles/12867/UnzipDisassembler-A-custom-pipeline-component-for
现在,您可以在管道的反汇编阶段创建包含解压缩反汇编程序,平面文件反汇编程序和Xml反汇编程序的自定义管道。 应能够拾取和解包任何类型的文件。
更好的建议是,使用3个不同的接收位置,全部连接到同一个接收端口,使用单独的文件掩码过滤器(“ .zip”,“ .csv”, “* .xml”)确定要拾取和处理的文件。如果您以后需要添加不同的文件类型,这会更有效,并且更易于增强。