Web Service数据结构中的JAXBElement

时间:2014-09-30 19:33:14

标签: java jaxb

我正在学习JAX-WS,我也在JAXB中学习。我可以用它来(un)编组java(xml)到xml(java)。但是这条线的目的是什么,然后我使用Apache CXF生成我的WS数据:

@XmlElementRef(name = "Id", namespace = "External.Test", type = JAXBElement.class, required = false)
    protected JAXBElement<String> id;
  1. 为什么它不能只是String id而不是JAXBElement<String> id
  2. 如何将请求数据(比如java POJO)转换为     像这样的结构? (我说的是从POJO映射到     这个暴露的WS结构,字段包含在JAXBElements中)

1 个答案:

答案 0 :(得分:1)

1.-根据您如何定义架构,使用此结构。例如,如果您使用替代组。有关详细信息,请参阅this answer

2.-这里有一些可能对您有帮助的代码: 假设您POJO定义了这样的结构:

public JAXBElement<?> getObjectData() {
    return objectData;
}

然后,当您解组收到的请求时,会填充您要恢复的字符串:

JAXBElement<String> rncElem = (JAXBElement<String>) dataContainer.getObjectData();
return rncElem.getValue();