bom dia galera!!
Abaixo estão as minhas classes bean, dentro de ItensVendasDBBean, eu tenho um atributo(vendasCliente) do tipo VendasClienteDBBean e dentro de VendasClienteDBBean eu tenho um atributo(empresa) do tipo GrupoEmpresaDBBean, Eu estou usando o método addImplicitCollection do xstream para que ele gere o xml com o atributo vendasCliente do tipo VendasClienteDBBean dentro da tag de ItensVendasClienteDBBean, tentei usar o método addImplicitCollection para tentar gerar também o atributo empresa do tipo GrupoEmpresaDBBean que está na classe VendasClienteDBBean. só que deu o erro que está abaixo. Se eu omitir o atributo empresa do tipo GrupoEmpresaDBBean, ele gera o xml.
Vocês sabem como posso fazer para gerar essa terceira classe GrupoEmpresaDBean?? Sendo que ela está dentro de VendasClienteDBBean que está dentro de ItensVendasClienteDBBean…
public class ItensVendasClienteDBBean implements Serializable {
private VendasClienteDBBean vendasCliente;
private int itemNotaFiscal;
private String tipoOperacao;
private String codigoProduto;
private String descricaoProduto;
private double qtdProduto;
private double vlrUnitario;
private double desconto;
private double vlrTotal;
public class VendasClienteDBBean implements Serializable {
private GrupoEmpresaDBBean empresa;
private String serie_nf;
private int dtEmissao;
private int nota_fiscal;
private int venda;
private double vlt_venda;
private double desconto;
private int condicao_pgt;
private String cliente;
public class GrupoEmpresaDBBean implements Serializable {
private int codigoEmpresa;
private int codigoMatGru;
private String nome;
private int quantidade;
private String geraXMLRegistro (DocumentoXMLDBBean documento) {
XStream xstream = new XStream(new DomDriver());
xstream.setMode(xstream.NO_REFERENCES);
xstream.alias("dataBridgePackage",DocumentoXMLDBBean.class);
xstream.alias("reg", ItensVendasClienteDBBean.class);
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "itemNotaFiscal");
xstream.aliasAttribute("Itens NF", "ItemNotaFiscal");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "codigoProduto");
xstream.aliasAttribute("Codigo", "codigoProduto");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "descricaoProduto");
xstream.aliasAttribute("Produto", "descricaoProduto");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "qtdProduto");
xstream.aliasAttribute("Quantidade", "qtdProduto");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "vlrUnitario");
xstream.aliasAttribute("Valor Unitario", "vlrUnitario");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "desconto");
xstream.aliasAttribute("Desconto", "desconto");
xstream.useAttributeFor(ItensVendasClienteDBBean.class, "vlrTotal");
xstream.aliasAttribute("Valor Total", "vlrTotal");
xstream.omitField(ItensVendasClienteDBBean.class, "tipoOperacao");
// estes são os atributos de venda
xstream.useAttributeFor(VendasClienteDBBean.class, "dtEmissao");
xstream.aliasAttribute("DataEmissão", "dtEmissao");
xstream.useAttributeFor(VendasClienteDBBean.class, "nota_fiscal");
xstream.aliasAttribute("Nota Fiscal", "nota_fiscal");
xstream.useAttributeFor(VendasClienteDBBean.class, "serie_nf");
xstream.aliasAttribute("NF Serie", "serie_nf");
xstream.useAttributeFor(VendasClienteDBBean.class, "venda");
xstream.aliasAttribute("Venda", "venda");
xstream.useAttributeFor(VendasClienteDBBean.class, "vlt_venda");
xstream.aliasAttribute("Valor Venda", "vlt_venda");
xstream.useAttributeFor(VendasClienteDBBean.class, "desconto");
xstream.aliasAttribute("Desconto", "desconto");
xstream.useAttributeFor(VendasClienteDBBean.class, "condicao_pgt");
xstream.aliasAttribute("Condição PGT", "condicao_pgt");
xstream.omitField(VendasClienteDBBean.class, "cliente");
//xstream.omitField(VendasClienteDBBean.class, "empresa");
xstream.useAttributeFor(GrupoEmpresaDBBean.class, "nome");
xstream.useAttributeFor(GrupoEmpresaDBBean.class, "codigoEmpresa");
xstream.aliasAttribute("Nome Empresa", "nome");
xstream.aliasAttribute("Codigo Empresa", "codigoEmpresa");
xstream.omitField(GrupoEmpresaDBBean.class, "codigoMatGru");
xstream.omitField(GrupoEmpresaDBBean.class, "quantidade");
xstream.addImplicitCollection(VendasClienteDBBean.class, "empresa");
xstream.addImplicitCollection(ItensVendasClienteDBBean.class, "vendasCliente", VendasClienteDBBean.class);
return xstream.toXML(documento);
}
com.thoughtworks.xstream.converters.ConversionException: Cannot handle CGLIB enhanced proxies with multiple callbacks
---- Debugging information ----
-------------------------------
at com.thoughtworks.xstream.converters.reflection.CGLIBEnhancedConverter.marshal(CGLIBEnhancedConverter.java:85)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.annotations.AnnotationReflectionConverter.marshallField(AnnotationReflectionConverter.java:46)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:112)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.visit(AbstractReflectionConverter.java:88)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:117)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:73)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.visit(AbstractReflectionConverter.java:85)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:117)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:73)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.writeItem(AbstractCollectionConverter.java:52)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.marshal(CollectionConverter.java:44)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.annotations.AnnotationReflectionConverter.marshallField(AnnotationReflectionConverter.java:46)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:112)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.visit(AbstractReflectionConverter.java:88)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:117)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:73)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.annotations.AnnotationReflectionConverter.marshallField(AnnotationReflectionConverter.java:46)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.writeField(AbstractReflectionConverter.java:112)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$2.visit(AbstractReflectionConverter.java:88)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:117)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:73)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.convert(TreeMarshaller.java:62)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:50)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:73)
at com.thoughtworks.xstream.core.TreeMarshallingStrategy.marshal(TreeMarshallingStrategy.java:19)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:765)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:754)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:735)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:725)
at br.com.consist.databridge.ws.DataBridgeVendasClienteWS.geraXMLRegistro(DataBridgeVendasClienteWS.java:213)
at br.com.consist.databridge.ws.DataBridgeVendasClienteWS.getXML(DataBridgeVendasClienteWS.java:134)
at UsesVendasClienteWS.main(UsesVendasClienteWS.java:53)