2012-01-25 46 views
0

我想在我的編排中處理EndpointNotFoundException。在Biztalk 2010 Orchestration中捕獲EndpointNotFoundException

我添加了一個新的異常處理程序

範圍同步=假

異常對象類型= System.ServiceModel.EndpointNotFoundException(此對象類型不工作)

異常對象類型=系統。 ServiceModel.CommunicationException(此對象類型不起作用)

異常對象類型= System.SystemException(此對象類型起作用,我不想要)

關於如何在協調中捕獲這些異常的想法?

+0

你怎麼知道catch塊是不工作的工作? –

+0

我正在使用表達式形狀在每個catch塊內的事件查看器中編寫自定義錯誤消息。 – MUS

+0

那麼你怎麼知道拋出了什麼類型的異常呢? –

回答

2

這似乎是一個常見問題 - 例如, herehere。我同意你的看法,如果我找到一個基本的System.Exception,那麼被捕獲的類型是System.ServiceModel.EndpointNotFoundException,內部爲System.Net.WebException

雖然沒有直接回答你的問題,爲什麼不標記端口Delivery Notification = Transmitted,然後趕上DeliveryFailureException

通過這種方式,您可以將編排與特定適配器(WCF)分離,並且如果更改傳輸(或添加備份傳輸等),異常處理仍然可行。

編輯:斯科特Colestock提到了hack to catch internal exceptions - 類似的東西可能會爲原始需求

+1

不幸的是,Delivery Notification在請求 - 響應端口上不起作用。 –