XmlMapper readValue возвращает объект с нулевым значениемJAVA

Программисты JAVA общаются здесь
Anonymous
XmlMapper readValue возвращает объект с нулевым значением

Сообщение Anonymous »

Я получаю такой XML-код от мыльного вызова (я не могу редактировать ответ, мне нужно с этим работать): У меня есть объект в Java для отображения этого ответа

Код: Выделить всё

@Data
@JacksonXmlRootElement(localName = "soap:Envelope")
public class MyResponse {
@JacksonXmlProperty(localName = "soap:Body")
Body body = new Body();

@JacksonXmlProperty(localName = "xmlns:soap",
isAttribute = true)
String soapEnv = "url";

@Data
public static class Body {
@JacksonXmlProperty(localName = "myResponse")
MyResponse myResponse = new MyResponse();
@Data
public static class MyResponse {
@JacksonXmlProperty(localName = "xmlns",
isAttribute = true)
protected String xmlns = "url1";
@JacksonXmlProperty(localName = "Id",
isAttribute = true)
protected String responseId;
}
}
}
Я пытаюсь прочитать это так

Код: Выделить всё

var xmlMapper = new XmlMapper();
xmlMapper.configure(
SerializationFeature.FAIL_ON_EMPTY_BEANS,
false);
xmlMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL);
xmlMapper.configure(
ToXmlGenerator.Feature.WRITE_XML_DECLARATION,
true);
xmlMapper.configure(
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,
false);
try {
return xmlMapper.readValue(response, MyResponse.class);
} catch (JsonProcessingException e) {
System.out.println(e.getMessage());
}
Но я получаю MyResponse с нулевым идентификатором ответа (и всеми другими свойствами, кроме xmlns, я написал здесь только идентификатор ответа, чтобы сделать его максимально простым).
Я думаю, что что-то не так с моей конфигурацией XmlMapper (возможно, потому, что я вставил значения в атрибуты, а не в теги, но получаю их именно так), можете ли вы помочь мне это исправить?
Спасибо. п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... null-value

Вернуться в «JAVA»