Pergunta

Eu tenho um aplicativo com uma interface de estilo REST que leva documentos XML via POST de clientes. Este aplicativo é escrito em Java e usa feijão XML para processar a mensagem postada.

A definição de esquema XML para um campo nos olhares mensagem como esta:

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

Como faço para enviar um valor nulo que atende a essa especificação?

Enviei <value xsi:nil="true" /> mas isso fez com que o parser XML para vomitar.

Foi útil?

Solução

Essa é a maneira correta de enviar um valor nulo (assumindo que o namespace padrão eo namespace xsi estão definidas para os valores corretos, ou seja, "http://www.w3.org/2001/XMLSchema-instance" para xsi.) De modo que parece que você pode ter vindo acima de encontro a um bug na CML parser você está usando. Qual é a mensagem de erro?

Você pode tentar usar xsi:nil="1" ou usando tags de abertura e fechamento separados (<value xsi:nil="true"></value>) para tentar trabalhar em torno do bug.

Outras dicas

E sobre <value xsi:nil="true"></value>? Isso é que é na especificação .

No passado, quando eu tive elementos XML que foram nulos ou eu não poderia incluí-los ou enviá-los esvaziar assim, no seu caso seria: <value />

Você já tentou isso?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top