Привет всем, у меня есть код ниже, и в автономном проекте unmarshall работает отлично, и код, вставленный в другой проект, вызывает ошибку.
Код:
JAXBContext jaxbContext = JAXBContext.newInstance(Form.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Form form = (Form) jaxbUnmarshaller.unmarshal(new StringWriter(xmlstring));
Ошибка:
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Form"). Expected elements are <{http://www.site1.pt/}Form>
Чужая вещь - это пространство имен (http://www.site1.pt/) Я не использую специфический в коде формы, но я использую в других частях моего другого проекта, так почему, когда я помещаю эточасть кода в моем другом проекте предполагает наличие пространства имен?
У меня есть пакет с именем pt.interfaces, в котором есть файл package-info.java У меня не было информации о пакете в моем пакете pt.interfaces.form.
Я попытался создать package-info.java в моем пакете pt.interfaces.form, и если я изменил пространство имен (http://www.test.pt/), то ошибка изменится:
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Form"). Expected elements are <{http://www.test.pt/}Form>
Если в моем package-info.java (pt.interfaces.form) я изменяю пространство имен на ничто "", удалите его, я не получаю ошибку, но у объекта нет значений xml.
Есть идеи? Спасибо