1
我正在使用CXF进行Web服务。 由于某些客户端的限制,我需要所有web故障返回代码200而不是500. 我试图使用拦截器,取决于阶段我能够覆盖状态,然后响应为空或响应已满与错误,但然后状态不会被覆盖。 任何想法如何做到这一点? 使用拦截器,什么是正确的阶段? 我注册这样的拦截器:用cxf覆盖http状态
@org.apache.cxf.interceptor.OutFaultInterceptors(interceptors = { "com.my.prod.core.service.itercept.HttpStatusInterceptor" })
,这是拦截器:
public class HttpStatusInterceptor extends AbstractSoapInterceptor {
public HttpStatusInterceptor(){
super(Phase.POST_STREAM_ENDING);
}
@Override public void handleMessage(org.apache.cxf.binding.soap.SoapMessage msg) throws org.apache.cxf.interceptor.Fault{
msg.put(SoapMessage.RESPONSE_CODE, "200");
}}
我确实得到了响应代码200,但响应本身是空的 – FelixDox
是的!小信仰的人,我..工作。 – FelixDox
现在..是否有可能将此拦截器注册到所有端点? – FelixDox