2010-05-06 56 views
1

我發現了一些網絡中的一些斷線,其中人們聲稱能夠使用XLANGMessage類型的編排中的接收形狀來接收無法組裝到特定xsd的平面文件架構文件。BizTalk平面文件失敗消息路由

我試圖將接收形狀中的消息類型設置爲Microsoft.XLANGS.BaseTypes.XLANGMessage,但此基類型不可序列化。這會導致構建錯誤。

是否有一個對象類型可以捕獲格式良好的xml消息的XmlDocuments以及格式錯誤的xml和非組裝的平面文件?

回答

0

在回答你的直接問題的粗體 - 是的,你後的類型是System.Xml.XmlDocument

您需要做的是創建一條新消息,並在選擇其類型時,從.NET Classes部分選擇上述類型。

此消息在分配給接收形狀時可以接收任何有效負載,例如,我經常使用它來通過BizTalk等格式傳送通過BizTalk,我不需要解析它們。然而,請注意,儘管有這個名字,但你在這裏所擁有的不是Xml,如果你嘗試和對待,它會給你帶來各種各樣的問題。


要進一步挖掘你的問題 - 你是否試圖進行某種錯誤處理編排?

如果您當時處於您的錯誤處理代碼中,您可以獲得一個接收形狀,該接收形狀接收類型爲XmlDocument的消息,並將其過濾器表達式設置爲ErrorReport.ErrorType ==「FailedMessage」,該消息綁定到直接綁定的端口到消息框。

我經常發現它有兩個接收形狀,一個用於捕獲路由失敗,當我們有任何可能的有效載荷,另一個用於訂閱你定義的強類型錯誤包裝信封,並從另一個來自它們的CatchException形狀的協調。

這意味着您可以構建一個集中的地方來處理所有異常。


如果您還沒有看到它,有一個很好的post by Charles Young可以描述類似於你正在嘗試做一些事情。