Я пытаюсь написать контроллер Spring, который читает запрос на отправку xml. Корневой элемент XML, который становится публикуемым выглядит следующим образом:xmlns в xml post body вызывает неправильную десериализацию Jaxb
<booksMessage version="2.0" notificationDate="2013-10-17T00:15:00-08:00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="books:notification:v2.0">
Мой Java класс, который представляет этот элемент начинается так:
@XmlRootElement(name="booksMessage", namespace="books:notification:v2.0")
@XmlAccessorType(XmlAccessType.FIELD)
public class BooksMessage {
Когда я пытаюсь сделать этот запрос поста с Jmeter Тем не менее, объект становится переведенным пустым. Если я вытащу xmlns="books:notification:v2.0
из сообщения, которое будет отправлено, и удалите namespace="books:notification:v2.0"
из моих аннотаций java, он отлично работает. Однако у меня нет контроля над сообщением, которое публикуется, так как я могу заставить это работать правильно, когда сообщение xml содержит xmlns? Есть ли еще одна аннотация, которую я должен добавить?
У вас есть схема для этого? потому что, если вы создаете классы с jaxB из схемы, он делает большую часть этой работы для вас. включая создание package-info.java. –
Я думаю, может быть, я мог бы получить схему. Мой опыт автогенерации классов заключается в том, что он создает много вещей, которые все равно нужно исправлять. (Как лишние классы для объявления списка.) – CorayThan