caelum / caelum-stella

O Caelum Stella visa suprir as necessidades do dia a dia do desenvolvedor brasileiro
http://stella.caelum.com.br
663 stars 340 forks source link

Problema ao gerar boelto Itau Boleto Itau #162

Closed scc4 closed 9 years ago

scc4 commented 9 years ago

Olá,

Ao tentar gerar Boleto do Itau recebo o erro abaixo:

Aguem pode me ajudar/ explicar o que esta faltando?

Att

Fernando

Segue o codigo e o erro:

public class BoletoCaelum {

public static void main(String[] args) {

    Datas datas = Datas.novasDatas()
            .comDocumento(1, 5, 2008)
            .comProcessamento(1, 5, 2008)
            .comVencimento(2, 5, 2008);

    Endereco enderecoBeneficiario = Endereco.novoEndereco()
            .comLogradouro("Av das Empresas, 555")
            .comBairro("Bairro Grande")
            .comCep("01234-555")
            .comCidade("São Paulo")
            .comUf("SP");

    //Quem emite o boleto
    Beneficiario beneficiario = Beneficiario.novoBeneficiario()
            .comNomeBeneficiario("Fulano de Tal")
            .comAgencia("1824")
            .comCodigoBeneficiario("76000")
            .comDigitoCodigoBeneficiario("5")
            .comNumeroConvenio("1207113")
            .comCarteira("18")
            .comEndereco(enderecoBeneficiario)
            .comNossoNumero("005000");

    Endereco enderecoPagador = Endereco.novoEndereco()
            .comLogradouro("Av dos testes, 111 apto 333")
            .comBairro("Bairro Teste")
            .comCep("01234-111")
            .comCidade("São Paulo")
            .comUf("SP");

    //Quem paga o boleto
    Pagador pagador = Pagador.novoPagador()
            .comNome("Fulano da Silva")
            .comDocumento("277.654.118-02")
            .comEndereco(enderecoPagador);

Banco banco = new Itau();

    Boleto boleto = Boleto.novoBoleto().comBanco(banco)
            .comDatas(datas)
            .comBeneficiario(beneficiario)
            .comPagador(pagador)
            .comValorBoleto("200.00")
            .comNumeroDoDocumento("5900010")
            .comInstrucoes("instrucao 1", "instrucao 2", "instrucao 3", "instrucao 4", "instrucao 5")
            .comLocaisDePagamento("local 1", "local 2");

   // banco.getNossoNumeroECodigoDocumento(boleto);

    // GeradorDeBoletoHTML gerador = new GeradorDeBoletoHTML(boleto);
    // gerador.geraHTML("C:\\Users\\admin\\Desktop\\Boletos\\Caelum_Stela\\BancoDoBrasil.html");
    GeradorDeBoleto gerador = new GeradorDeBoleto(boleto);
    System.out.println(gerador.toString());
    File pdf = new File("C:\\Users\\Fernando Luiz\\Documents\\NetBeansProjects\\BoletoCaelum\\testeBoletos\\BancoItau.pdf");
    gerador.geraPDF(pdf);

    // Para gerar um boleto em PDF  
    // gerador.geraPDF("C:\\Users\\admin\\Desktop\\Boletos\\Caelum_Stela\\BancoDoBrasil.pdf");
    // Para gerar um boleto em PNG  
    //  gerador.geraPNG("BancoDoBrasil.png");  
    gerador.geraPNG("C:\\Users\\Fernando Luiz\\Documents\\NetBeansProjects\\BoletoCaelum\\testeBoletos\\BancoItau.png");
    // Para gerar um array de bytes a partir de um PDF  
    //  byte[] bPDF = gerador.geraPDF();  

    // Para gerar um array de bytes a partir de um PNG  
    //   byte[] bPNG = gerador.geraPNG();*/
}

}

Exception in thread "main" br.com.caelum.stella.boleto.exception.GeracaoBoletoException: br.com.caelum.stella.boleto.exception.GeracaoBoletoException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:158) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:142) at boletocaelum.BoletoCaelum.main(BoletoCaelum.java:87) Caused by: br.com.caelum.stella.boleto.exception.GeracaoBoletoException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:130) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:155) ... 2 more Caused by: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:118) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:95) at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:108) at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1362) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1263) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1239) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:984) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:121) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:539) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:115) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:667) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:648) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:970) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:126) ... 3 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1773) at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1132) at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686) at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715) at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:110) ... 17 more Caused by: java.lang.NullPointerException at java.lang.String.concat(String.java:1970) at br.com.caelum.stella.boleto.bancos.Itau.getNossoNumeroECodigoDocumento(Itau.java:67) at br.com.caelum.stella.boleto.Boleto.getNossoNumeroECodDocumento(Boleto.java:450) ... 27 more Java Result: 1

mariofts commented 9 years ago

Parece que faltou preencher o DigitoNossoNumero no beneficiário, por isso o NullPointer

scc4 commented 9 years ago

Era isso

Muito Obrigado,

Fernando Em 15/04/2015 18:02, "Mario Amaral" notifications@github.com escreveu:

Parece que faltou preencher o DigitoNossoNumero no beneficiário, por isso o NullPointer

— Reply to this email directly or view it on GitHub https://github.com/caelum/caelum-stella/issues/162#issuecomment-93568463 .

alexjosesilva commented 5 years ago

Estou com a mesma dificuldade. Pode informar qual procedimento vc fez para conseguir corrigir o erro ??

alexjosesilva commented 5 years ago

Resolvido: .comDigitoNossoNumero("347-1");

ou melhor:

//Quem emite o boleto
              Beneficiario beneficiario = Beneficiario.novoBeneficiario()  
                      .comNomeBeneficiario("Fulano de Tal")  
                      .comAgencia("1824").comDigitoAgencia("4")  
                      .comCodigoBeneficiario("76000")  
                      .comDigitoCodigoBeneficiario("5")  
                      .comNumeroConvenio("1207113")  
                      .comCarteira("18")  
                      .comEndereco(enderecoBeneficiario)
                      .comNossoNumero("005000")
                      .comDigitoNossoNumero("347-1");