2014-09-12 182 views
0

最近,我有一個項目,它將使用FUSE駱駝路線接受XML作爲POST有效載荷,並轉換爲Java對象。FUSE駱駝航線,任何想法解決這個問題

從(ENDPOINT_SAMPLE) .convertBodyTo(TestClass.class)

它想的XML來的TestClass對象轉換,但識別TestClass是從第三方,它實現了一些接口,這會導致很多問題。如

2014-09-12 14:15:54,304 |警告| qtp1407394366-68 | AbstractJAXBProvider | ? ? | 170 - org.apache.cxf.cxf-rt-frontend-jaxrs - 2.7.0.redhat-610379 | com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:3個IllegalAnnotationExceptions的計數 com.BBB.TestIF是一個接口,並且JAXB無法處理接口。在com.BBB.TestIF .......

我用慣了的XStream將XML轉換自/至爪哇,它的接口工作,但: 這個問題涉及到以下位置JAXB不能這樣做,因爲這是由Camel內部處理的,所以我無法將其更改爲XStream。 請分享您的經驗或給我一些建議,我明白我可以模仿我自己的TestClass,但它可能不是最好的解決方案(因爲它非常複雜)。 謝謝。

回答

1

如果xstream適合你,那你爲什麼不用xstream在駱駝上呢?

from("foo:bar").unmarshal().xstream().to("bar:foo"); 

http://camel.apache.org/xstream