JAXB: Изменить имя элемента XML из кода Java?

Чтобы установить имя элемента XML, я использую такие аннотации:

@XmlElement(name = "customer_id")
public String getId(){}

Мне нужно взаимодействовать с двумя разными веб-сервисами. Один извлекает элемент идентификатора с именем customer_id , а другой извлекает элемент идентификатора с именем id . Я решил проблему, создав второй класс Customer с теми же атрибутами. Единственное отличие состоит в том, что он использует следующую аннотацию

@XmlElement(name = "id")
public String getId(){}

и имеет конструктор копирования, который копирует все атрибуты из Customer1 в Customer2 . Когда я общаюсь с первым веб-сервисом, я отправляю объект Customer1 , а другой веб-сервис получает объект Customer2 .

Есть ли возможность использовать только один объект Customer , но переименовать атрибут id в соответствии с ожиданиями веб-службы?

6
задан skaffman 5 November 2011 в 16:08
поделиться