Метод сгенерированного кода CXF недоступен - PullRequest
0 голосов
/ 26 мая 2020

У меня проблема с сгенерированным кодом. Я использовал плагин maven CXF для генерации классов, прямо сейчас они находятся в target / cxf. Раньше был пакет, куда копировался весь сгенерированный код. Прямо сейчас мне нужно было регенерировать классы из-за небольшого изменения, и я не могу заставить этот материал работать.

Класс раньше имел множество xml атрибутов:

public class UserType {
@XmlAttribute(name = "userVersion")
    protected String userVersion;
...
public String getUserVersion() {
        return userVersion;
    }

    public void setUserVersion(String value) {
        this.userVersion = value;
    }
}

В новом классе единственная разница между классами - это один дополнительный атрибут, поэтому новый класс

public class UserType {
@XmlAttribute(name = "userVersion")
    protected String userVersion;

@XmlAttribute(name = "userSchemaVersion")
    protected String userSchemaVersion;
...
public String getUserVersion() {
    return userVersion;
}

public void setUserVersion(String value) {
    this.userVersion = value;
}

public String getUserSchemeVersion() {
    return userSchemeVersion;
}

public void setUserSchemeVersion(String value) {
    this.userSchemeVersion = value;
}
}

На следующем шаге мне нужно демаршалировать xml из файла в java объекты, но после демаршалинга я проверил немаршалированный объект в отладке, кажется, что новый добавленный атрибут отсутствует. Поэтому, когда я вызываю более поздний метод getUserSchemeVersion () объекта UserType, выдает исключение: Нет такого метода экземпляра: 'getUserSchemeVersion'.

Ничего особенного в xml демаршалинге, остальные атрибуты успешно немаршалируются.

 JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
 Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
 JAXBElement<ParentType> parentElement = unmarshaller.unmarshal(new StreamSource(is), ParentType.class);

Я использую IntelliJ 2019.3, пытался очистить кеш IDE, повторно импортировать maven, сгенерировать источники и папки обновлений, перестроить проект и построить его с помощью maven из консоли. Спасибо за любые советы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...