CXF を使用して WSDL/XSD から Java クラスを生成し、後で XML (JMS 用) に戻しています。
生成されたクラスの 1 つで、次のように述べています。
@XmlElement(namespace = "http://www.example.com/", nillable = true)
protected Datum datum;
すべて問題ありませんが、null 値を入力すると、次のようになります。
test.setDatum(null);
次の XML が生成されます。
<datum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
xsi:nil="true"が必要ですが、名前空間xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"は必要ありません。この名前空間は既に指定されているためですルート要素。また、検証は、使用する必要があるテスト プラットフォームで失敗します。
要素内の余分な名前空間を取り除くにはどうすればよいですか?