Nfe erro

1 resposta
jonasjgs2

caros amigos eu comprei um cd da t2ti
sobre o curso de nfe com java

e comecei a estudar o jaxb conforme os exemplos que o cd me fala
segui passo a passo
porem observem o codigo abaixo:
ele me da erro nullpointexception na linha 37

package jaxb;

import br.inf.portalfiscal.nfe.TNFe;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.transform.stream.StreamSource;

/**
 *
 * @author Jonas
 */
public class JaxB {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        try {
            JAXBContext context = JAXBContext.newInstance("br.inf.portalfiscal.nfe");

            Unmarshaller unmarshaller = context.createUnmarshaller();

//            Marshaller marshaller = context.createMarshaller();

            File notafile = new File("c:/nfeteste.xml");

            TNFe nfe = unmarshaller.unmarshal(new StreamSource(notafile), TNFe.class).getValue();

            nfe.getInfNFe().getIde().setNatOp("qualquer coisa"); // o erro esta dando aqui

            System.out.println(nfe.getInfNFe().getIde().getNatOp());

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

1 Resposta

T

Você precisa criar os objetos InfNfe e Ide. Ficaria algo assim:

public static void main(String[] args) {  
  
        try {  
            JAXBContext context = JAXBContext.newInstance("br.inf.portalfiscal.nfe");  
  
            Unmarshaller unmarshaller = context.createUnmarshaller();  
  
//            Marshaller marshaller = context.createMarshaller();  
  
            File notafile = new File("c:/nfeteste.xml");  

          TNFe nfe = unmarshaller.unmarshal(new StreamSource(notafile), TNFe.class).getValue();  

          InfNFe infNFe = new InfNFe();

          Ide ide = new Ide();

          infNFe.setIde(ide);

          nfe.setInfNFe(infNFe);

          nfe.getInfNFe().getIde().setNatOp("qualquer coisa"); // deve funcionar agora 
  
          System.out.println(nfe.getInfNFe().getIde().getNatOp());  
        } catch (Exception e) {  
            e.printStackTrace();  
        }

[]'s

Criado 18 de setembro de 2012
Ultima resposta 18 de set. de 2012
Respostas 1
Participantes 2