我基于具有拦截器的代码使用以下代码。当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;

10-08 14:32