CXF - CXF未捕获自定义异常

时间:2012-01-30 06:55:15

标签: spring soap cxf

我正在使用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对象?有任何想法吗?

1 个答案:

答案 0 :(得分:0)