0
Apache-cxf嘗試解組具有某些名稱空間的xml,因此@XmlRootElement包含名稱和名稱空間attrs。CXF getNode with namespace,unmarshaling
問題是:如何使這個測試工作?
@XmlRootElement(name = "MyClass", namespace = "http://foo_url")
class MyClass {
@XmlElement(name = "version")
var version: String = _
}
class SimpleTest {
@Test
def test(): Unit = {
// given
val xmlString =
"""<MyClass xmlns="http://foo_url"> <version>10</version></MyClass> """
val xmlSource = new XMLSource(new ByteArrayInputStream(xmlString.getBytes("UTF-8")))
// when
val node: MyClass = xmlSource.getNode(
"MyClass",
Collections.singletonMap(
"ns1",
"http://foo_url"
),
classOf[MyClass])
// then
assertThat(node, is(not(nullValue()))) //null
assertThat(node.version, is("10")) /// null !
}
我想這是關於命名空間的一切嗎? 基本上我想離開XmlRootElement,因爲它現在是。