2013-05-17 49 views
0

我們正在建立一個REST服務,CXF和接收數據在這兩個JSON和XMLJSONProvider變換元素的地方,我們發送的屬性(CXF)

在我們不希望打擾我們的客戶使用「的JSON版本@ '表示屬性並使用JsonProvider(org.apache.cxf.jaxrs.provider.json.JSONProvider)上的「attributesToElements」參數確保我們不會以這種方式將這些屬性發送給客戶端。

然而,當接收到數據時(相同的格式),JsonProvider無法正確接收數據UnMarshall,因爲它沒有意識到屬性值是屬性(並將它們視爲元素)。

在cxf錯誤跟蹤器的issue 3475中,此問題被確認並標記爲已解決,因爲它是接收端需要處理的問題。有人提到使用JsonProvider的轉換特性,但是我似乎無法使它工作。

我試圖配置beans.xml中與像幾個變化變換:

<property name="inTransformElements"> 
    <map> 
     <entry key="fieldname" value="@fieldname"/> 
     <entry key="fieldname" value="{@}fieldname"/> 
    </map> 
</property> 

但沒有更迭。

使用cxf JsonProvider將元素轉換回屬性可能嗎? 如果是這樣怎麼樣?

回答

0

只是爲了瞭解這個問題,上面顯示

XML是輸出

<property name="inTransformElements"> 
    <map> 
     <entry key="fieldname" value="@fieldname"/> 
     <entry key="fieldname" value="{@}fieldname"/> 
    </map> 
</property> 

你嘗試與CXF的最新版本?

+0

這個XML試圖配置jsonprovider(在beans.xml中) – pvgoddijn

相關問題