Estou com este arquivo xml porem nunca trabalhei com Xstream Criei as classes com engenharia reversa pois o serviço faço uma consulta porem não estou tendo exito
Peguei alguns exemplos para fazer porem com estas mensagens,
Tenho uma outra aplicacao que usa as mesma classe porem Sem o arrey da classe Chage e roda beleza porem esta classe agora retorna varios conteudos nela e nao estou acertando
<result>
<success>true</success>
<data>
<charges>
<charge>
<code>70005885</code>
<dueDate>22/04/2020</dueDate>
<checkoutUrl>
https://pay.sandbox.juno.com.br/checkout/883CD1AA72FCF250C206182C6975BC027C7BB422D545D595
</checkoutUrl>
<link>
</link>
<payNumber>BOLETO PAGO</payNumber>
<billetDetails>
<bankAccount>0655/46480-8</bankAccount>
<ourNumber>176/70005885-3</ourNumber>
<barcodeNumber>34191823300000012751767000588530655464808000</barcodeNumber>
<portfolio>176</portfolio>
</billetDetails>
<payments>
<payment>
<id>46446</id>
<amount>12.75</amount>
<date>18/04/2020</date>
<fee>3.90</fee>
<type>BOLETO</type>
<status>CONFIRMED</status>
<creditCardId/>
</payment>
</payments>
</charge>
<charge>
<code>70005884</code>
<dueDate>22/04/2020</dueDate>
<checkoutUrl>
https://pay.sandbox.juno.com.br/checkout/DD1768A600C2550368B25BFDE79318FC992668B036BC59B9
</checkoutUrl>
<link>
https://pay.sandbox.juno.com.br/charge/boleto.pdf?token=710502:m:cee703b4d95f938e24e0967298a5d35686973ede2fec021188ebfdbcad49f6bd
</link>
<payNumber>BOLETO PAGO</payNumber>
<billetDetails>
<bankAccount>0655/46480-8</bankAccount>
<ourNumber>176/70005884-6</ourNumber>
<barcodeNumber>34199823300000012751767000588460655464808000</barcodeNumber>
<portfolio>176</portfolio>
</billetDetails>
<payments>
<payment>
<id>46447</id>
<amount>12.75</amount>
<date>18/04/2020</date>
<fee>3.90</fee>
<type>BOLETO</type>
<status>CONFIRMED</status>
<creditCardId/>
</payment>
</payments>
</charge>
<charge>
<code>70005819</code>
<dueDate>22/04/2020</dueDate>
<checkoutUrl>
https://pay.sandbox.juno.com.br/checkout/07B96AC0E91D1FE9B16BDEEB3511A71ACEB702645BB77B38
</checkoutUrl>
<link>
https://pay.sandbox.juno.com.br/charge/boleto.pdf?token=710459:m:8efdbf868664657fe18cdd106be5462610976d3ebbbfc79152eedc6cfec707b5
</link>
<payNumber>BOLETO PAGO</payNumber>
<billetDetails>
<bankAccount>0655/46480-8</bankAccount>
<ourNumber>176/70005819-2</ourNumber>
<barcodeNumber>34195823300000012751767000581920655464808000</barcodeNumber>
<portfolio>176</portfolio>
</billetDetails>
<payments>
<payment>
<id>46448</id>
<amount>12.75</amount>
<date>18/04/2020</date>
<fee>3.90</fee>
<type>BOLETO</type>
<status>CONFIRMED</status>
<creditCardId/>
</payment>
</payments>
</charge>
</charges>
</data>
</result>
Mensagem
Security framework of XStream not initialized, XStream is probably vulnerable.
Exception in thread “main” com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : code
class : java.util.ArrayList
required-type : java.util.ArrayList
converter-type : com.thoughtworks.xstream.converters.collections.CollectionConverter
path : /result/data/charges/charge/code
class[1] : entidade.Charges
required-type[1] : entidade.Charges
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2] : entidade.Data
required-type[2] : entidade.Data
class[3] : entidade.Result
required-type[3] : entidade.Result
version : 1.4.12
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:77)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:499)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:425)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:499)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:425)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:499)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:425)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:277)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:72)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1487)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1467)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1338)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1329)
at entidade.XMLToObject.transformXMLToObject(XMLToObject.java:67)
at entidade.XMLToObject.main(XMLToObject.java:36)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: code
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47)
at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readBareItem(AbstractCollectionConverter.java:131)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:117)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:98)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:91)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:85)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
… 29 more
identar texto pré-formatado por 4 espaços
Classes
public class Charge {
private String code;
private String dueDate;
private String checkoutUrl;
private String link;
private String payNumber;
BilletDetails billetDetails;
private String payments;
}
public class Charges {
ArrayList < Charge > charge = new ArrayList < Charge > ();
}
public class Data {
Charges charges;
}
public class Result {
private String success;
Data data;
}
Omitido Geter e Seter
String json = http_Sms();
//File nossoArquivoXML = new File(json);
XStream xStream = new XStream(new DomDriver());
//XStream xstream = new XStream(new DomDriver());
//xstream.alias("personData", Person.class);
//xstream.alias("phoneList", List.class);
//xstream.alias("phoneNumber", String.class);
/*configuracao*/
xStream.alias("result", Result.class);
xStream.alias("data", Data.class);
xStream.alias("charges", Charges.class);
xStream.alias("charge", Charge.class);
//xStream.addImplicitArray(Charges.class, "charge");
//xStream.addImplicitArray(Charge.class, "charge");
Result result =(Result)xStream.fromXML(json);
//Funcionario funcionario = (Funcionario) xStream.fromXML(nossoArquivoXML);
this.printReport(result);