使用jaxb2-maven-plugin生成HL7 CDA2类时@XmlValue字段缺失
问题:JAXB XJC生成HL7 CDA2 ANY类丢失@XmlValue字段导致序列化异常
问题现象
- 使用jaxb2-maven-plugin的XJC工具生成HL7 CDA2文档解析用JAXB类时,抽象复杂类型
ANY类缺少带@XmlValue注解的String字段 - 反序列化后对象为空,重新序列化时XML内容被截断(如地址节点文本全部丢失)
相关ANY类型XSD定义
<xs:complexType name="ANY" abstract="true"> <xs:attribute name="nullFlavor" type="NullFlavor" use="optional"> </xs:attribute> </xs:complexType>
已尝试的无效操作
- 配置项目POM及JAXB绑定文件(包含
generateMixedExtensions参数),问题仍存在 - 参考2010年相关讨论的Glassfish环境下方案,无效果
临时解决方法
手动在生成的ANY类中添加带@XmlValue注解的String字段:
@XmlValue protected String content;
问题根源
这是JAXB XJC处理mixed="true"元素的固有局限,相关讨论早在2010年就已存在,但部分环境下的历史方案不适用。
内容的提问来源于stack exchange,提问作者Ivano Tomainu
相关产品推荐
相关产品推荐

