下面是这个soap响应,我需要将其解析为java对象……但是当我打印它时,所有字段都返回null。下面是我用来解释响应的类。我一直试图使用jaxb来解压内容,但没有一次成功。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:consultarPosicaoCotistaOnOfflineFundoResponse>
<ns2:listCotistaFundo>
<ns2:cotistaFundo>
<ns2:cdFundo>014588</ns2:cdFundo>
<ns2:nmCliente>BRADESCO FIC FIM GAVEA MACRO</ns2:nmCliente>
<ns2:dtPosicao>2021-02-18</ns2:dtPosicao>
<ns2:vlCota>1.3121393</ns2:vlCota>
<ns2:qtdCotas>43650.7211055</ns2:qtdCotas>
<ns2:vlCorrigido>57275.83</ns2:vlCorrigido>
<ns2:vlIr>221.1</ns2:vlIr>
<ns2:vlIof>0</ns2:vlIof>
<ns2:vlLiquidoResg>57054.73</ns2:vlLiquidoResg>
<ns2:vlContaCorrente>57054.73</ns2:vlContaCorrente>
<ns2:vlContaInvestimento>57054.73</ns2:vlContaInvestimento>
<ns2:noCnpjFundo>28428211000149</ns2:noCnpjFundo>
<ns2:icAfPosicao>F</ns2:icAfPosicao>
<ns2:vlAplicacao>49069.11</ns2:vlAplicacao>
<ns2:qtCotasBloqueadas>0</ns2:qtCotasBloqueadas>
<ns2:vlBrutoBloqueado>0</ns2:vlBrutoBloqueado>
<ns2:vlLiquidoBloqueado>0</ns2:vlLiquidoBloqueado>
<ns2:vlAplicacaoNaoCotizada>0</ns2:vlAplicacaoNaoCotizada>
<ns2:vlResgateNaoCotizado>0</ns2:vlResgateNaoCotizado>
</ns2:cotistaFundo>
</ns2:listCotistaFundo>
<ns3:responseMessages>
<ns3:message>
<ns3:code>EJCOT-0000</ns3:code>
<ns3:desc>Operação Concluída</ns3:desc>
</ns3:message>
</ns3:responseMessages>
</ns2:consultarPosicaoCotistaOnOfflineFundoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Unmarshaller unmarshaller = JAXBContext.newInstance(ConsultarPosicaoCotistaOnOfflineFundoResponse.class).createUnmarshaller();
response = (ConsultarPosicaoCotistaOnOfflineFundoResponse) unmarshaller.unmarshal(soapMessage.getSOAPBody().extractContentAsDocument());
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "consultarPosicaoCotistaOnOfflineFundoResponse",
namespace = "http://totvs.cot.webservices")
public class ConsultarPosicaoCotistaOnOfflineFundoResponse implements Serializable {
private ListCotistaFundo[] listCotistaFundo;
public ListCotistaFundo[] getCotistaFundo() {
return listCotistaFundo;
}
@XmlElement(name ="listCotistaFundo",
namespace = "http://totvs.cot.webservices")
public void setCotistaFundos(ListCotistaFundo[] listCotistaFundo) {
this.listCotistaFundo = listCotistaFundo;
}
}
@XmlAccessorType(XmlAccessType.FIELD)
public class ListCotistaFundo {
@XmlElement(name = "cdFundo")
private String cdFundo;
@XmlElement(name = "nmCliente")
private String nmCliente;
@XmlElement(name = "dtPosicao")
private Date dtPosicao;
@XmlElement(name = "vlCota")
private BigDecimal vlCota;
@XmlElement(name = "qtdCotas")
private BigDecimal qtdCotas;
@XmlElement(name = "vlCorrigido")
private BigDecimal vlCorrigido;
@XmlElement(name = "vlIr")
private BigDecimal vlIr;
@XmlElement(name = "vlIof")
private BigDecimal vlIof;
@XmlElement(name = "vlLiquidoResg")
private BigDecimal vlLiquidoResg;
@XmlElement(name = "vlContaCorrente")
private BigDecimal vlContaCorrente;
@XmlElement(name = "vlContaInvestimento")
private BigDecimal vlContaInvestimento;
@XmlElement(name = "noCnpjFundo")
private double noCnpjFundo;
@XmlElement(name = "icAfPosicao")
private String icAfPosicao;
@XmlElement(name = "vlAplicacao")
private BigDecimal vlAplicacao;
@XmlElement(name = "qtCotasBloqueadas")
private BigDecimal qtCotasBloqueadas;
@XmlElement(name = "vlBrutoBloqueado")
private BigDecimal vlBrutoBloqueado;
@XmlElement(name = "vlLiquidoBloqueado")
private BigDecimal vlLiquidoBloqueado;
@XmlElement(name = "vlAplicacaoNaoCotizada")
private BigDecimal vlAplicacaoNaoCotizada;
@XmlElement(name = "vlResgateNaoCotizado")
private BigDecimal vlResgateNaoCotizado;
Getters and Setters ...
有人知道如何在java对象中转换响应吗?
暂无答案!
目前还没有任何答案,快来回答吧!