Question

I'm using CXF to generate java classes from a WSDL/XSD and later back to XML (for JMS).

In one of the generated classes, it says:

@XmlElement(namespace = "http://www.example.com/", nillable = true)
protected Datum datum;

All good, but when I put a null value:

test.setDatum(null);

I get the following XML generated:

<datum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />

The xsi:nil="true" is what i want, but I don't want the namespace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance", because this namespace is already specified at the root element. Also the validation fails at the test platform we have to use.

How do I get rid of the extra namespace in the element?

Was it helpful?

Solution

I did it the other way around. I wrote a interceptor that checks for certain attributes. If found, I add the xsi:nil="true" attribute to the xml.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top