2011-11-03 90 views
0

我正在使用CXF開發web服務。如何處理Apache CXF中的異常

但我想知道什麼是處理異常的最佳實踐?假設我有一個web服務操作,創建(用戶用戶)。 傳入用戶是我的用戶域類的一個實例,可以通過調用user.save()

直接由UI團隊保存如果save()由於某種原因失敗(例如某些網絡連接失敗或來自用戶DTO的一些數據驗證錯誤),最佳實踐將如何規定我向客戶端提供此例外情況?

我的意思是:哪種類型的異常適合?

此異常是否應包含在操作簽名中?

public Response createUser(User user); 

@WebService 
public interface EmpService { 
public Response createUser(User user); 
} 

和客戶端應該如何處理這個異常?

+0

你是問異常的細節是否在'response'中?或者拋出一個單獨的異常,像這樣'public Response createUser(User user)throws MyOwnUserException;' – tamilnad

回答

0

我曾在一家公司工作,擁有近15年的網絡服務經驗,所以我學到了一些東西。我們只是通過方法中指定的throws聲明來處理異常。如果發生了某些預期的錯誤,我們只是簡單地構造了異常並將其與指向某個失敗原因的消息一起引發。

客戶端應該處理由服務拋出的所有異常,無論如何他喜歡這​​樣做。如果你正在開發一個Web服務,你需要擔心如何正確地創建一個有適當理由的異常。當發生異常時,客戶端將會看到它。