我必须在使用jaxb(JAXB 2.1.10-JDK 6)进行编组时动态传递根元素的名称空间。我将使用生成的xml来调用具有不同名称空间但输入XML相同的不同Web服务。
这是我的示例jaxb注释类.....用您的宝贵意见指导我。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "taskName",
    "taskType"
})
@XmlRootElement(name = "TaskRequest", namespace = "ABC")
public class TaskRequest {

@XmlElement(name = "TaskName", required = true, namespace = "XYZ")
protected String taskName;
@XmlElement(name = "TaskType", required = true, namespace = "XYZ")
protected String taskType;

public String getTaskName() {
    return taskName;
}

public void setTaskName(String value) {
    this.taskName = value;
}

public String getTaskType() {
    return taskType;
}

public void setTaskType(String value) {
    this.taskType = value;
}

}

名称空间“ABC”需要动态传递不同的值。

最佳答案

您可以将根对象包装在JAXBElement实例中,以提供备用名称和名称空间信息。

10-08 19:48