【发布时间】:2013-04-19 21:06:34
【问题描述】:
这是我的错误拦截器:
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 blah blah...
我想要返回的是一个 Response 对象,它有一个正确的 HTTP 响应代码和一个 json 主体(我在上面的响应变量中正确地拥有了)。
谢谢
【问题讨论】:
标签: java spring cxf jax-rs interceptor