soap—如何将soapmessage对象转换为java对象

ktecyv1j  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(416)

下面是这个soap响应,我需要将其解析为java对象……但是当我打印它时,所有字段都返回null。下面是我用来解释响应的类。我一直试图使用jaxb来解压内容,但没有一次成功。

  1. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  2. <SOAP-ENV:Header/>
  3. <SOAP-ENV:Body>
  4. <ns2:consultarPosicaoCotistaOnOfflineFundoResponse>
  5. <ns2:listCotistaFundo>
  6. <ns2:cotistaFundo>
  7. <ns2:cdFundo>014588</ns2:cdFundo>
  8. <ns2:nmCliente>BRADESCO FIC FIM GAVEA MACRO</ns2:nmCliente>
  9. <ns2:dtPosicao>2021-02-18</ns2:dtPosicao>
  10. <ns2:vlCota>1.3121393</ns2:vlCota>
  11. <ns2:qtdCotas>43650.7211055</ns2:qtdCotas>
  12. <ns2:vlCorrigido>57275.83</ns2:vlCorrigido>
  13. <ns2:vlIr>221.1</ns2:vlIr>
  14. <ns2:vlIof>0</ns2:vlIof>
  15. <ns2:vlLiquidoResg>57054.73</ns2:vlLiquidoResg>
  16. <ns2:vlContaCorrente>57054.73</ns2:vlContaCorrente>
  17. <ns2:vlContaInvestimento>57054.73</ns2:vlContaInvestimento>
  18. <ns2:noCnpjFundo>28428211000149</ns2:noCnpjFundo>
  19. <ns2:icAfPosicao>F</ns2:icAfPosicao>
  20. <ns2:vlAplicacao>49069.11</ns2:vlAplicacao>
  21. <ns2:qtCotasBloqueadas>0</ns2:qtCotasBloqueadas>
  22. <ns2:vlBrutoBloqueado>0</ns2:vlBrutoBloqueado>
  23. <ns2:vlLiquidoBloqueado>0</ns2:vlLiquidoBloqueado>
  24. <ns2:vlAplicacaoNaoCotizada>0</ns2:vlAplicacaoNaoCotizada>
  25. <ns2:vlResgateNaoCotizado>0</ns2:vlResgateNaoCotizado>
  26. </ns2:cotistaFundo>
  27. </ns2:listCotistaFundo>
  28. <ns3:responseMessages>
  29. <ns3:message>
  30. <ns3:code>EJCOT-0000</ns3:code>
  31. <ns3:desc>Operação Concluída</ns3:desc>
  32. </ns3:message>
  33. </ns3:responseMessages>
  34. </ns2:consultarPosicaoCotistaOnOfflineFundoResponse>
  35. </SOAP-ENV:Body>
  36. </SOAP-ENV:Envelope>
  37. Unmarshaller unmarshaller = JAXBContext.newInstance(ConsultarPosicaoCotistaOnOfflineFundoResponse.class).createUnmarshaller();
  38. response = (ConsultarPosicaoCotistaOnOfflineFundoResponse) unmarshaller.unmarshal(soapMessage.getSOAPBody().extractContentAsDocument());
  39. @XmlAccessorType(XmlAccessType.FIELD)
  40. @XmlRootElement(name = "consultarPosicaoCotistaOnOfflineFundoResponse",
  41. namespace = "http://totvs.cot.webservices")
  42. public class ConsultarPosicaoCotistaOnOfflineFundoResponse implements Serializable {
  43. private ListCotistaFundo[] listCotistaFundo;
  44. public ListCotistaFundo[] getCotistaFundo() {
  45. return listCotistaFundo;
  46. }
  47. @XmlElement(name ="listCotistaFundo",
  48. namespace = "http://totvs.cot.webservices")
  49. public void setCotistaFundos(ListCotistaFundo[] listCotistaFundo) {
  50. this.listCotistaFundo = listCotistaFundo;
  51. }
  52. }
  53. @XmlAccessorType(XmlAccessType.FIELD)
  54. public class ListCotistaFundo {
  55. @XmlElement(name = "cdFundo")
  56. private String cdFundo;
  57. @XmlElement(name = "nmCliente")
  58. private String nmCliente;
  59. @XmlElement(name = "dtPosicao")
  60. private Date dtPosicao;
  61. @XmlElement(name = "vlCota")
  62. private BigDecimal vlCota;
  63. @XmlElement(name = "qtdCotas")
  64. private BigDecimal qtdCotas;
  65. @XmlElement(name = "vlCorrigido")
  66. private BigDecimal vlCorrigido;
  67. @XmlElement(name = "vlIr")
  68. private BigDecimal vlIr;
  69. @XmlElement(name = "vlIof")
  70. private BigDecimal vlIof;
  71. @XmlElement(name = "vlLiquidoResg")
  72. private BigDecimal vlLiquidoResg;
  73. @XmlElement(name = "vlContaCorrente")
  74. private BigDecimal vlContaCorrente;
  75. @XmlElement(name = "vlContaInvestimento")
  76. private BigDecimal vlContaInvestimento;
  77. @XmlElement(name = "noCnpjFundo")
  78. private double noCnpjFundo;
  79. @XmlElement(name = "icAfPosicao")
  80. private String icAfPosicao;
  81. @XmlElement(name = "vlAplicacao")
  82. private BigDecimal vlAplicacao;
  83. @XmlElement(name = "qtCotasBloqueadas")
  84. private BigDecimal qtCotasBloqueadas;
  85. @XmlElement(name = "vlBrutoBloqueado")
  86. private BigDecimal vlBrutoBloqueado;
  87. @XmlElement(name = "vlLiquidoBloqueado")
  88. private BigDecimal vlLiquidoBloqueado;
  89. @XmlElement(name = "vlAplicacaoNaoCotizada")
  90. private BigDecimal vlAplicacaoNaoCotizada;
  91. @XmlElement(name = "vlResgateNaoCotizado")
  92. private BigDecimal vlResgateNaoCotizado;
  93. Getters and Setters ...

有人知道如何在java对象中转换响应吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题