2017-06-19 50 views
0

我有工作駱駝CXF端點,在彈簧文件中定義是這樣的:如何在使用Camel CXF休息端點時指定JAXB註釋類?

<cxf:cxfEndpoint id="myEndpoint" address="myAddress" 
    serviceClass="myServiceClass" 
    loggingFeatureEnabled="true" skipFaultLogging="true" > 

它工作正常,並能自動拿起我曾與@XmlRootElement和@XmlSeeAlso註釋JAXB類。兩個項目使用相同的端點定義,我想將一些類移到相應的子項目中,因爲我真的需要它們來訪問該子項目中的其他類。問題是要做到這一點,我必須從頂級類的@XmlSeeAlso註釋中移除它們。我已經嘗試過這個,並且在子項目中實例化端點時創建的JAXB上下文沒有這些類的知識。解決這個問題的最簡單方法是什麼?最初我認爲可以很容易地找到一個屬性,它允許我指定一個或多個由CXF提供給JAXB上下文的其他類,但我無法看到如何將CXF文檔中給出的配置應用於駱駝上下文。例如,配置在這裏:

http://cxf.apache.org/docs/jax-rs-data-bindings.html

會談有關使用「extraClass」屬性:

<bean id="jaxb" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"> 
    <property name="extraClass"> 
    <list> 
     <value>org.apache.cxf.jaxrs.resources.SuperBook</value> 
    </list> 
    </property> 
</bean> 

但是我看不到創造駱駝路由時如何應用呢?

回答

0
<cxf:dataBinding> 
      <bean id="extraJaxBClasses" class="org.apache.cxf.jaxb.JAXBDataBinding"> 
       <property name="extraClass"> 
        <list> 
         <value>your class here</value> 
         <value>your class here</value> 
        </list> 
       </property> 
      </bean> 
     </cxf:dataBinding> 
+0

我得到了類似的情況,我得到它與這個代碼工作 - 它就像一個魅力。 – user8198874