XsTream tratamento de arquivo

0 respostas
java
jorgereidinaldo

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>

https://pay.sandbox.juno.com.br/charge/boleto.pdf?token=710503:m:aadad0eadd4056b37fa0631a6f1abca1deee677d99f191d2a86c3c246e696f03

</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);
Criado 20 de abril de 2020
Respostas 0
Participantes 1