0

これが私の障害インターセプターです:

public class OutFaultInterceptor extends AbstractPhaseInterceptor<Message> {

   public OutFaultInterceptor() {
        super(Phase.SEND);
    }

        @Override
        public void handleMessage(Message message) throws Fault 
        {   
            Fault fault = (Fault)message.getContent(Exception.class);
            Throwable ex = fault.getCause();
            Response response = JAXRSUtils.convertFaultToResponse(ex, message);
            message.setContent(Response.class, response);
    }
}

関連するcxf-configは次のとおりです。

    <jaxrs:outFaultInterceptors>
        <bean id="outfault" class="com.xxx.OutFaultInterceptor"/>
    </jaxrs:outFaultInterceptors>

問題なく handleMessage メソッドに入ることができますが、メッセージを変更することはできません。

現在、返されるのはデフォルトです: ns1:XMLFault 何とか何とか...

私が返したいのは、適切な HTTP 応答コードと json 本体 (上記の応答変数に正しくあります) を持つ Response オブジェクトです。

ありがとう

4

1 に答える 1