Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Jaxb Namespace

Quando defino um namespace na tag @XmlRootelement do jaxb, ela aparece da seguinte forma: <ns2:documento xmlns:ns2="http">, sendo que preciso que venha da seguinte form: <documento xmlns:="http">. Ja vi que trata-se de um problema comum a ocorrencia do "ns2" mas não achei bons esclarecimentos quanto a causa ou uma solução sem a conhecida "gambiarra".

Agradeço.

3 respostas
solução!

Oi Sidnei,

não tenho certeza, mas teste o seguinte:

Dentro do pacote com as classes mapeadas coloque um arquivo package-info.java. Nele adicione o mapeamento do namespace:

@javax.xml.bind.annotation.XmlSchema(
namespace="http://seu.pacote.com.br",
elementFormDefault=javax.xml.bind.annotation.XmlNsForm.UNSET)
package br.com.seu.pacote;

Esse package-info.java o JAX-B usa para associar um namespace com o package.

Depois gere o XML novamente!

abs, Nico

Apareceu da seguinte forma na saída: <xsi:DOC xmlns:xsi="http://seu.pacote.com.br">.

Acabei optando por utilizar o DOM para abrir o arquivo e fazer essa rápida modificação.

Oi Sidnei,

tem como testar XmlNsForm.UNQUALIFIED ?

Abs, Nico