2010-03-16 127 views
0

在我的Workflow Foundation 4.0 RC應用程序中,我有一個'Receive'和'SendReplyToReceive'WCF消息對可以很好地處理簡單的請求/響應操作, m在嘗試對請求執行驗證並回復錯誤時遇到問題。Windows Workflow Foundation 4.0和WCF Web服務故障(soap故障)

在WCF中,我能夠創建一個拋出自定義錯誤合約(反過來發送SOAP錯誤),但我不知道如何通過內置工作流消息傳遞活動來實現這一點。

我似乎只能迴應一個數據傳輸對象(我甚至無法響應對象的選擇)。

任何想法? (你能否再次挽救我的一天莫里斯!?)

謝謝!

回答

2

事實證明,這可以做到,但不像我希望的那樣可以發現。如果馬特米爾納和戴夫克里夫沒有告訴我這是如何工作的,我不認爲我會發現這一點。

訣竅是爲相同的接收活動添加第二個SendReply。第二次SendReply返回一個類型爲FaultException的變量,其目的是幫助定義正確的操作契約。

發生錯誤時,只需拋出FaultException,就像通常會殺死工作流程或返回錯誤並使工作流程保持原樣一樣,現在客戶端就會看到它。

更新:檢查this document獲取新的白皮書「如何發送和接收工作流服務中的故障」。另見我的博客文章here

+0

好東西 - 謝謝Maurice! – Lygpt 2010-03-23 15:59:15