cxf - 在 "in Interceptor"中注入(inject) CXF JAXRS MessageContext

标签 cxf jax-rs cxfrs

我正尝试在拦截器中注入(inject) MessageContext,其阶段如下所示

@Context
org.apache.cxf.jaxrs.ext.MessageContext.MessageContext messageContext;

但这并没有被初始化并且保持为空。是否可以在拦截器中注入(inject) org.apache.cxf.jaxrs.ext.MessageContext.MessageContext?

谢谢

最佳答案

您可能需要添加 <aop:scoped-proxy/>进入cxf配置文件:

<jaxrs:server id="example" address="/">
    <jaxrs:serviceBeans>
         <bean class="org.apache.cxf.systest.jaxrs.CustomerService">
              <aop:scoped-proxy />
         </bean>
    </jaxrs:serviceBeans>
</jaxrs:server>

您还必须为您的 messageContext 创建一个 setter 方法(这应该在您的服务类中 - 这里是“org.apache.cxf.systest.jaxrs.CustomerService”):

private MessageContext messageContext;

@Context
public void setMessageContext(MessageContext messageContext) {
    this.messageContext = messageContext;
}

另请考虑此文档链接:
http://cxf.apache.org/docs/jaxrs-services-configuration.html#JAXRSServicesConfiguration-FromSpring

关于cxf - 在 "in Interceptor"中注入(inject) CXF JAXRS MessageContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927298/

相关文章:

RESTEasy Exception : RESTEASY003770: Response is committed, 无法处理异常

java - ClassNotFoundException(Apache CXF Web 服务)

java - 具有参数化类型的 Apache CXF

java - 如何排除传递依赖

java - JAX-RS - 两个类是否可以具有相同的@Path 标识符?

java - JAX-RS 2.0 - 如何从响应对象获取实体

java - 以编程方式配置通过 CXF 启动的 jetty

java - CXF NoSuchMethodError ClassHelper.getRealClass

java - 配置bean未初始化

java - Apache CXF : adding custom documentation in the WSDL?