我尝试根据cxfrs:server service class中指定的输出类型构建Response。
@Consumes({MediaType.APPLICATION_JSON})
@Produces({"application/xml"})
如何使用cxf拦截器获取Consumes类型和Produces类型。
答案 0 :(得分:1)
您可以从OperationResourceInfo获取此信息拦截器应如下所示
public class MyInterceptor extends AbstractPhaseInterceptor<Message> {
public MyInterceptor () {
super(Phase.RECEIVE);
}
public void handleMessage(Message message) {
OperationResourceInfo m = message.getExchange().get(OperationResourceInfo.class);
List<javax.ws.rs.core.MediaType> consumes = m.getConsumeTypes();
List<javax.ws.rs.core.MediaType> produces = m.getProduceTypes();
}
public void handleFault(Message messageParam) {
//Invoked when interceptor fails
}
}
请记住向您的终端添加in
或out
拦截器