Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从两个不同的父类访问公共jaxb对象_Java_Jaxb_Jax Ws - Fatal编程技术网

Java 从两个不同的父类访问公共jaxb对象

Java 从两个不同的父类访问公共jaxb对象,java,jaxb,jax-ws,Java,Jaxb,Jax Ws,我有两个由jax-ws-wsimport生成的jaxb注释类。它们是“顶级”类,每个类都从不同的jax-ws方法引用 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Level0MessageType", propOrder = { "header", "payload" }) public class Level0MessageType { @XmlElement(name = "Header", requ

我有两个由jax-ws-wsimport生成的jaxb注释类。它们是“顶级”类,每个类都从不同的jax-ws方法引用

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Level0MessageType", propOrder = {
    "header",
    "payload"
})
public class Level0MessageType {

    @XmlElement(name = "Header", required = true)
    protected MessageHeaderType header;
    @XmlElement(name = "Payload", required = true)
    protected Level0PayloadType payload;
 ... etc ..
}

它们都包含一个公共的“header”元素。我需要从父对象访问该元素,而不知道父具体类型。我可以定义一个接口,然后让Level0MessageType和Level1MessageType实现一个方法来返回头,但这意味着每当wsimport重新生成java类时,我都会丢失更改的代码。有更好的解决办法吗


谢谢。

您使用哪种环境生成代码(仅限maven、ant、IDE)?Netbeand和maven可能重复。我没有使用jxc,而是使用wsimport来创建类。请添加您的maven配置。XJC是wsimport工具链的一部分,即使没有明确提到。是的,我找到了关于通过wsimport传递XJC参数的think链接。看看重复的问题。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Level1MessageType", propOrder = {
    "header",
    "payload"
})
public class Level1MessageType {

    @XmlElement(name = "Header", required = true)
    protected MessageHeaderType header;
    @XmlElement(name = "Payload", required = true)
    protected Level1PayloadType payload;
... etc.
}