3

次のように、 Phase を READ として MessageContext を Interceptor に挿入しようとしています

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

しかし、これは初期化されておらず、null のままです。Interceptor に org.apache.cxf.jaxrs.ext.MessageContext.MessageContext を注入することは可能ですか?

ありがとう

4

1 に答える 1

3

<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 のセッター メソッドを作成する必要があります (これはサービス クラスにある必要があります。ここでは "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

于 2013-08-03T18:30:51.703 に答える