J'ai généré un client en utilisant le framework Axis2 avec XMLBeans comme méthode de liaison de données. Le schéma XSD est le suivant:
<xsd:schema>
Axe2 avec liaison de données XMLBeans - Problème avec un client java généré à partir d'un schéma XSD avec anyType
<xsd:element name="profile" type="anyType"/>
</xsd:schema>
l'objet Java généré qui prend une partie de la demande SOAP contient des méthodes de lecture et de définition permettant d'obtenir et de définir le profil. Voici la signature de la méthode:
Le problème est que même si je dois passer plusieurs nœuds en tant que profil et non pas un document XML valide, mais XMLObject attend un document XML avec un nœud racine.
J'ai besoin de passer:
<accounts></accounts>
<payees></payees>
En fait, le service que j'utilise attend ces nœuds, mais ne les a pas contraint dans le schéma. Ainsi, je ne peux pas ajouter un autre nœud racine car même si le service ne lance aucune exception, le profil ne sera pas utilisable. XMLBeans ajoute déjà l'arborescence XML sous-jacente, je veux dire le nœud de profil dans le document de requête.
Ainsi, je ne peux pas l'utiliser comme un nœud racine. si j'ajoute un nœud racine, le code XML suivant sera créé
<profile> <profile></profile> </profile>
Et je veux que le document soit formaté comme suit:
<profile>
<accounts></accounts> <payees></payees>
</profile>
Je préfère ne pas modifier le schéma du service. Je voudrais savoir s'il existe un moyen avec Axis2/XMLBeans pour résoudre ce problème.