Jaxb для создания пустого тега для нулевых значений

Я работаю над интеграцией двух систем, которые обмениваются данными, используя сервис XML. Интерфейсы предоставлены другой стороной и мы использовали JAXB для генерации Java-класса. Я закончил интеграцию и работал нормально.

Проблема: у нас сложная структура XML, некоторые элементы и сложные элементы являются необязательными. Когда мы отправляем обратно, очевидно, что они нулевые, поэтому Jaxb не отправляет пустой тег. Другие системы нуждаются в этих пустых тегах (может быть для аудита)

Я использую Java/JAXB для своей работы.

Пожалуйста, помогите мне получить быстрое общее решение, которое я могу подать на все мои услуги.

1 ответ

Решение

В XSD у нас есть атрибут с именем nillable, указав этот JAXB, который рассматривается как элемент для значений Null. Ну, я могу сказать: "Элемент больше не является обязательным с точки зрения сервиса, так как Jaxb обязательно сгенерирует элемент". Даже если вы проверите XSD в XMLSPY, вы увидите, что этот элемент не является обязательным. В основном Jaxb рассматривает нулевое значение как допустимое значение.

Теперь есть еще одна ситуация, которая не может разрешиться, это сложный необязательный элемент. Я имею в виду, что если кто-то хочет генерировать многоуровневые необязательные элементы с нулевыми значениями, JAXB делает родительские элементы как Nillable, а дочерние элементы игнорируются. Я не уверен, как работает JAXB здесь.

Другие вопросы по тегам