Dans l'un de mes projets, j'utilise JAXB2 marshaller, avec un service Web de premier contrat, je génère les objets à partir d'un schéma XML.JAXB Mappage Java et XSD
Tout fonctionne très bien. Mais, j'ai un problème de "code utilisabilité". Laisse moi te donner un exemple.
Schéma:
<xs:complexType name="personContractAlertListType">
<xs:sequence>
<xs:element ref="PersonContractAlert" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="PersonContractAlertsResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="PersonContractAlertList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Ainsi, afin d'accéder à la liste des PersonContractAlerts
Je dois appeler:
PersonContractAlertsResponse.getPersonContractAlertListType().getPersonContractAlert()
Ce qui est un peu longue.
Ma question est: Comment puis-je me débarrasser de la getPersonContractAlertListType()
et aller directement à: PersonContractAlertsResponse.getPersonContractAlert()
Parce que cet élément d'emballage est vraiment seulement pour XSD, je ne ai pas besoin dans mon objet Java.
En d'autres termes ont:
<Element1>
<Wrapper>
<Element2/>
</Wrapper>
</Element1>
Et je veux en Java pour la carte à: Element1.getElement2()
Peut-être en utilisant des adaptateurs JAXB. Et rappelez-vous que je ne veux pas toucher les objets générés. Cela doit être fait soit dans les paramètres de marshaller (adaptar, intercepteur, etc) ou dans le XSD (peut-être il y a quelques paramètres à manipuler).
Merci beaucoup!
MISE À JOUR:
J'ai trouvé un tutoriel sur certaines opérations de liaison:
https://jaxb.dev.java.net/guide/Using_different_datatypes.html
Je recherche essayer d'utiliser les liaisons JAXB.
Ce lien est maintenant https://jaxb.java.net/guide/Using_different_datatypes.html –