¿Qué XML envío para un campo declarado como anulable?
Pregunta
Tengo una aplicación con una interfaz estilo REST que toma documentos XML vía POST de los clientes.Esta aplicación está escrita en Java y utiliza beans XML para procesar el mensaje publicado.
La definición del esquema XML para un campo en el mensaje tiene este aspecto:
<xs:element name="value" type="xs:string" nillable="true" />
¿Cómo envío un valor nulo que cumpla con esta especificación?
yo envié <value xsi:nil="true" />
pero esto hizo que el analizador XML vomitara.
Solución
Esa es la forma correcta de enviar un valor nulo (suponiendo que el espacio de nombres predeterminado y el xsi
el espacio de nombres está configurado con los valores correctos, es decir "http://www.w3.org/2001/XMLSchema-instance"
para xsi
.) por lo que parece que te has topado con un error en el analizador CML que estás utilizando.¿Cuál es el mensaje de error?
Podrías intentar usar xsi:nil="1"
o usando etiquetas de apertura y cierre separadas (<value xsi:nil="true"></value>
) para intentar solucionar el error.
Otros consejos
Qué pasa <value xsi:nil="true"></value>
?Eso es lo que en la especificación.
En el pasado, cuando tenía elementos XML que eran nulos, podía no incluirlos o enviarlos vacíos, por lo que en su caso sería:<value />
¿Has probado eso?