2
我正在用CXF 2.3.3開發SOAP Web服務。我想在用戶提交錯誤數據時拋出一個自定義異常。我的異常類看起來像這樣。CXF - 自定義異常未被CXF捕獲
@WebFault(name="InvalidUserDataException", targetNamespace="http://foo.bar.com/")
@XmlAccessorType(XmlAccessType.FIELD)
public class InvalidUserDataException extends RuntimeException {
public InvalidUserDataException(){
super();
}
String validationErrors;
}
在我的方法實現類我故意拋出此異常,看的SOAPFault異常是否是由CXF返回到客戶端,但無論我做任何同樣的錯誤,這些類別的結果:createNewUser已經拋出異常,現在展開。
請注意,WSUserRegistration接口還聲明自己createNewUser方法會引發InvalidUserDataException。
public class WSUserRegistrationImpl implements WSUserRegistration {
@Autowired
IWSUserValidationProxy validationProxyImpl;
@Override
public int createNewUser(RegistrationInputProperty registrationInfo) throws InvalidUserDataException {
if (true) {
throw new InvalidUserDataException();
}
return 1;
}
}
我的目標是趕上從SOAPFaultOutInterceptor此異常,並返回一個定製faultDetail。
如何讓CXF捕獲此錯誤並返回SOAPFault對象?有任何想法嗎?
你好dursun,我仍然得到相同的錯誤「createNewUser已經拋出異常,現在展開」沒有運氣。順便說一句,我是CXF的新手 – user1177489 2012-01-30 08:18:33
除了上面的內容外,是否還有其他註釋? – user1177489 2012-01-30 11:46:31
好的。解決了,即使我已啓動程序的攔截我福爾戈添加 CXF:功能> 這個片段cxf.xml文件和CXF沒有登錄傳出的SOAPFault異常消息使我認爲SOAPFault消息在遇到錯誤時不是由CXF生成的。 –
user1177489
2012-02-02 05:28:52