Почему мое преобразование XML строки в объект приводит к нулевым атрибутам? - PullRequest
0 голосов
/ 21 марта 2020

У меня есть код, который использует веб-сервис и возвращает XML, возвращаемый для преобразования в объект. Я получаю XML и использую его для преобразования в объект. Преобразование происходит, но все их атрибуты остаются нулевыми.

Веб-служба возвращает XML:

<?xml version=\"1.0\" encoding=\"UTF-8\"?><retDistDFeInt xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.01\"><tpAmb>2</tpAmb><verAplic>1.2.0</verAplic><cStat>137</cStat><xMotivo>Nenhum documento localizado</xMotivo><dhResp>2020-03-20T20:45:39-03:00</dhResp><ultNSU>000000000000051</ultNSU><maxNSU>000000000000141</maxNSU></retDistDFeInt>

Метод, который пытается преобразовать это XML в RetDistDFeInt.

public static RetDistDFeInt getObject(String xml) throws Exception {
    return JAXB.unmarshal(new StringReader(xml), RetDistDFeInt.class);
}

Класс RetDistDFeInt:

@XmlRootElement(name="retDistDFeInt")
public class RetDistDFeInt {

    private AMBIENTE tpAmb;
    private String verAplic;
    private int cStat;
    private String xMotivo;
    private LocalDateTime dhResp;
    private Long ultNSU;//Último do bloco retornado
    private Long maxNSU;//Máximo já gerado para o autor
    private LoteDistDFeInt loteDistDFeInt;

    @XmlJavaTypeAdapter(value=AMBIENTE.Adapter.class)
    @XmlElement(name="tpAmb")
    public AMBIENTE getTpAmb() {
        return tpAmb;
    }

    public void setTpAmb(AMBIENTE tpAmb) {
        this.tpAmb = tpAmb;
    }

    @XmlElement(name="verAplic")
    public String getVerAplic() {
        return verAplic;
    }

    public void setVerAplic(String verAplic) {
        this.verAplic = verAplic;
    }

    @XmlElement(name="cStat")
    public int getcStat() {
        return cStat;
    }

    public void setcStat(int cStat) {
        this.cStat = cStat;
    }

    @XmlElement(name="xMotivo")
    public String getxMotivo() {
        return xMotivo;
    }

    public void setxMotivo(String xMotivo) {
        this.xMotivo = xMotivo;
    }

    @XmlJavaTypeAdapter(value=LocalDateTimeAdapter.class)
    @XmlElement(name="dhResp")
    public LocalDateTime getDhResp() {
        return dhResp;
    }

    public void setDhResp(LocalDateTime dhResp) {
        this.dhResp = dhResp;
    }

    @XmlElement(name="ultNSU")
    public Long getUltNSU() {
        return ultNSU;
    }

    public void setUltNSU(Long ultNSU) {
        this.ultNSU = ultNSU;
    }

    @XmlElement(name="maxNSU")
    public Long getMaxNSU() {
        return maxNSU;
    }

    public void setMaxNSU(Long maxNSU) {
        this.maxNSU = maxNSU;
    }

    @XmlElement(name="loteDistDFeInt", required=false)
    public LoteDistDFeInt getLoteDistDFeInt() {
        return loteDistDFeInt;
    }

    public void setLoteDistDFeInt(LoteDistDFeInt loteDistDFeInt) {
        this.loteDistDFeInt = loteDistDFeInt;
    }

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