Мои классы модели Java генерируются на основе wsdl с использованием xjc.
У меня есть странное требование, чтобы поля типа xsd:boolean маршалировались как 1 или 0 в результате xml (по умолчанию значения «истина» или «ложь» используются).
Я уже пытался создать XmlAdapter следующим образом:
Код: Выделить всё
public class JaxbBooleanAdapter extends XmlAdapter {
@Override
public Boolean unmarshal(final Integer v)
{
return v == null ? null : v == 1;
}
@Override
public Integer marshal(final Boolean v)
{
return v == null ? null : v ? 1 : 0;
}
}
Код: Выделить всё
marshaller.setAdapters( new JaxbBooleanAdapter() );
Когда я аннотировал класс модели Java с помощью @XmlJavaTypeAdapter( JaxbBooleanAdapter.class ) все работало отлично, но моя Java-модель генерируется xjc, и мне не удалось заставить ее генерировать аннотации с использованием привязок. Я попробовал следующую привязку:
Код: Выделить всё
Подробнее здесь: https://stackoverflow.com/questions/486 ... -java-mode
Мобильная версия