我基于具有拦截器的代码使用以下代码。当check返回true时,我想抛出403错误:
@Override
public void handleMessage(Message arg0) throws Fault {
HttpServletRequest request = context.getHttpServletRequest();
if(check(request)){
// currently not working
throw "Fault";
}
我想抛出403错误。在这种情况下,我该如何去做呢?
我对“抛出错误”的工作方式有些困惑。
任何帮助表示赞赏
最佳答案
CXF会将故障的状态码默认为500,但是您可以使用Fault.setStatusCode进行设置。例如
Fault fault = new Fault(new Exception("Exception message"));
fault.setStatusCode(403);
throw fault;