我有一個帶有HTTP適配器的請求 - 響應接收端口的編排。如果編排中發生異常,則HTTP適配器仍會返回200狀態。使用HTTPAdapter返回500狀態碼
是否有可能使HTTP適配器返回500狀態錯誤而不是200?
我的BizTalk版本爲2010年
我有一個帶有HTTP適配器的請求 - 響應接收端口的編排。如果編排中發生異常,則HTTP適配器仍會返回200狀態。使用HTTPAdapter返回500狀態碼
是否有可能使HTTP適配器返回500狀態錯誤而不是200?
我的BizTalk版本爲2010年
這將是更好的做法是返回一個信息,它包括在其中你提高它作爲一個業務異常的可選的錯誤節點調用者。
不少系統會自動重試消息,如果他們得到500的狀態,在這種情況下,它會保持失敗。
如果您在業務級別拒絕該消息,則需要確定消息是否應該被接受(在這種情況下,您需要修復代碼)或發送者是否有錯誤(在這種情況下他們需要解決他們正在發送的內容)。
我不認爲這可以通過HTTP適配器來完成,但是您可以使用WCF自定義適配器來實現它。不幸的是,BTS 2010並沒有提供對WebHttp綁定的簡單訪問,但是你可以通過WCF-Custom實現,或者如果你想做SOAP,你可以使用WCF-BasicHttp。在故障端口上發送消息應該生成一個500碼。
請記住,要實現這一點,您必須允許將錯誤消息路由到調用方,並且您可能希望具有自定義的WCF行爲來清理消息以刪除可能會發生的敏感細節通過故障端口傳輸(如堆棧跟蹤信息)。