如何在Apache CXF中抛出403错误 - Java

Tai*_*Tai 3 java apache error-handling cxf exception

我正在使用以下基于拦截器的代码.当check返回true时,我想抛出403错误:

    @Override
    public void handleMessage(Message arg0) throws Fault {


        HttpServletRequest request = context.getHttpServletRequest();
        if(check(request)){
        // currently not working
                throw "Fault";
        }
Run Code Online (Sandbox Code Playgroud)

我想抛出403错误.我如何从这种情况中做到这一点?

关于"抛出错误"是如何工作的我有点困惑.

任何帮助表示赞赏

Pat*_*ick 8

对于故障,CXF会将状态代码默认为500,但您可以使用Fault.setStatusCode进行设置.例如

Fault fault = new Fault(new Exception("Exception message"));
fault.setStatusCode(403);
throw fault;
Run Code Online (Sandbox Code Playgroud)