我无法将一些XML解组到正确的超类。它似乎忽略了Party标签上的xsi:type
属性。
SOAP XML的格式为
<ns6:CustomerContact>
<Party xsi:type="Individual">
<partyId>1669751</partyId>
<partyType>INDIVIDUAL</partyType>
<isLegalEntityYN>N</isLegalEntityYN>
<gender>FEMALE</gender>
....
Party
类
@XmlaccessorType(XmlaccessType.FIELD)
@XmlType(name = "Party",propOrder = {
"partyId","partyType","isLegalEntityYN"
})
@XmlSeeAlso({
Thing.class,Individual.class,Organization.class
})
public class Party extends Entity {
protected String partyId;
protected String partyType;
Individual
类
@XmlaccessorType(XmlaccessType.FIELD)
@XmlType(name = "Individual",propOrder = {
"gender"
})
public class Individual extends Party {
protected String gender;
...
当将XML取消编组时,在CustomerContact
对象中返回的类只是一个Party
对象,并且丢失了XML中Individual
类中的字段。>
所有注释似乎都是正确的,并且启用了完全跟踪,我看不到任何错误。那是什么原因造成的?
我还应该提到Party
,Individual
和相关的服务/端口类是由Apache CXF从wsdl生成的