我正在使用CXF 2.3.3开发SOAP Web服务。我想在用户提交错误数据时抛出自定义异常。我的异常类看起来像这样。
@WebFault(name="InvalidUserDataException", targetNamespace="http://foo.bar.com/")
@XmlAccessorType(XmlAccessType.FIELD)
public class InvalidUserDataException extends RuntimeException {
public InvalidUserDataException(){
super();
}
String validationErrors;
}
在我的方法Impl类中,我故意抛出此异常以查看CXF是否将SoapFault异常返回给客户端,但无论我对这些类中的任何一个做什么都会导致同样的错误: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对象?有任何想法吗?
答案 0 :(得分:0)