HeaderTypeImpl headerTypeImpl = (HeaderTypeImpl) rootType.getHeader();这个是不是应该用接口是接收啊

解决方案 »

  1.   

    这么写是没问题的,关键问题出在choice上面。如果改成sequence是没有问题的。
      

  2.   

    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element ref="MessageReferenceNumber"/>
    <xs:element ref="DocumentName"/>
    <xs:element ref="DocumentVersionNumber"/>
    <xs:element ref="SenderCode"/>
    <xs:element ref="MessageSendingDateTime"/>
    <xs:element ref="MessageFunctionCode" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>节点不一致啊
      

  3.   

    靠,写错了。
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element ref="MessageReferenceNumber"/>
    <xs:element ref="DocumentName"/>
    <xs:element ref="DocumentVersionNumber"/>
    <xs:element ref="SenderCode"/>
    <xs:element ref="MessageSendingDateTime"/>
    <xs:element ref="MessageFunctionCode" minOccurs="0"/>
    </xs:choice>这样就一致了,我拷贝错了,程序是没有这个问题的。
      

  4.   

    </xs:choice>有个或的关系,就是可以存在可以不存在。<xs:sequence>是子节点必须全部存在。
      

  5.   

    JAXB我之前没用过,帮你找了个例子。
    http://www.360doc.com/content/08/0528/17/59141_1292126.shtml