如何获取Cxfrs:服务器输入和输出类型

时间:2017-01-04 09:09:24

标签: java apache-camel cxf jbossfuse cxfrs

我尝试根据cxfrs:server service class中指定的输出类型构建Response。

@Consumes({MediaType.APPLICATION_JSON}) @Produces({"application/xml"})

如何使用cxf拦截器获取Consumes类型和Produces类型。

1 个答案:

答案 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
    }
}

请记住向您的终端添加inout拦截器