Quale XML devo inviare per un campo dichiarato nillable?
Domanda
Ho un'applicazione con un'interfaccia in stile REST che accetta i documenti XML tramite POST dai client. Questa applicazione è scritta in Java e utilizza bean XML per elaborare il messaggio pubblicato.
La definizione dello schema XML per un campo nel messaggio è simile alla seguente:
<xs:element name="value" type="xs:string" nillable="true" />
Come posso inviare un valore null che soddisfa questa specifica?
Ho inviato <value xsi:nil="true" />
ma ciò ha causato il barup del parser XML.
Soluzione
Questo è il modo giusto di inviare un valore nullo (supponendo che lo spazio dei nomi predefinito e lo spazio dei nomi xsi
siano impostati sui valori corretti, vale a dire "http://www.w3.org/2001/XMLSchema-instance"
per xsi:nil="1"
.) quindi sembra che tu possa essere arrivato contro un bug nel parser CML che stai utilizzando. Qual è il messaggio di errore?
Potresti provare a usare <value xsi:nil="true"></value>
o utilizzare tag separati di apertura e chiusura (<=>) per provare a aggirare il bug.
Altri suggerimenti
Che dire di <value xsi:nil="true"></value>
? Ecco cosa nelle specifiche .
In passato, quando avevo elementi XML nulli, non potevo né includerli né inviarli vuoti, quindi nel tuo caso sarebbe:
<value />
Ci hai provato?