Question

J'ai une application avec une interface de style REST qui récupère les documents XML via POST des clients.Cette application est écrite en Java et utilise des beans XML pour traiter le message publié.

La définition du schéma XML d'un champ dans le message ressemble à ceci :

<xs:element name="value" type="xs:string" nillable="true" />

Comment puis-je envoyer une valeur nulle qui répond à cette spécification ?

j'ai envoyé <value xsi:nil="true" />mais cela a fait vomir l'analyseur XML.

Était-ce utile?

La solution

C'est la bonne façon d'envoyer une valeur nulle (en supposant que l'espace de noms par défaut et le xsi les espaces de noms sont définis sur les valeurs correctes, à savoir "http://www.w3.org/2001/XMLSchema-instance" pour xsi.) il semble donc que vous ayez rencontré un bug dans l'analyseur CML que vous utilisez.Quel est le message d'erreur ?

Vous pourriez essayer d'utiliser xsi:nil="1" ou en utilisant des balises d'ouverture et de fermeture distinctes (<value xsi:nil="true"></value>) pour essayer de contourner le bug.

Autres conseils

Qu'en est-il de <value xsi:nil="true"></value>?C'est ce que c'est dans la spécification.

Dans le passé, lorsque j'avais des éléments XML nuls, je pouvais soit ne pas les inclure, soit les envoyer vides, donc dans votre cas, ce serait :<value />

Avez-vous essayé ça ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top