2012-04-11 52 views
0

我們要創建一個通用的wcf接收位置,它必須非常通用,以至於它幾乎就像文件適配器只需將它接收並傳遞到消息框即它應該允許客戶端提交一個zip文件,一個平面文件,或任何XML,我很困惑如何實現這一點,我只能想到定義架構有xsd:任何孩子,但它會工作的zip文件?創建一個用於接收壓縮文件的wcf接收位置

預先感謝這麼多

回答

2

有執行單獨的消息「展開」的單個位置內的兩個可能的方式。無論是哪種方式,您都需要構建,購買或借用自定義管道組件以進行解壓縮,因爲這不是標準的BizTalk功能。以下管道組件使用開放源代碼zip庫:http://www.codeproject.com/Articles/12867/UnzipDisassembler-A-custom-pipeline-component-for

您現在可以創建包含解壓縮反彙編程序,平面文件反彙編程序和Xml反彙編程序的自定義管道,所有這些都位於管道的反彙編階段。這應該能夠拾取和解包任何類型的文件。

更好的建議,但,是使用3個不同的接收位置,所有連接到相同的接收端口,使用一個單獨的文件掩模濾波器(「的.zip」,‘的.csv’,「* .XML 「)來確定要拾取哪個文件並進行處理。如果您稍後需要添加不同的文件類型,這會更加高效,並且更加簡單。