Emissor NFe e XML

8 respostas
U

Olá pessoal,

Duas dúvidas:

1ª - No portal da SEFAZ (http://www.nfe.fazenda.gov.br/portal/emissor.aspx), tem um emissor de NFe,
como já existe, pq “nós” estamos desenvolvendo tb, ele n atende a todos? ou a tudo?

2ª - Estou ainda na geração do meu XML e qdo executo ele me mostra em console OK, mas qdo tento persistir dá erro.

INICIO DO CÓDIGO (onde acho q pode estar o prob)

@XmlRootElement(name="Nfe", namespace="http://www.portalfiscal.inf.br/nfe")
public class NotaFiscal {


    protected InfNfe infNfe;

    public InfNfe getInfNfe() {
        return infNfe;
    }

    public void setInfNfe(InfNfe infNfe) {
        this.infNfe = infNfe;
    }
      

    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(propOrder={"id", 
    "versao", "ide", "emit", "dest", "det"})
    public static class InfNfe {

        @XmlAttribute(name="Id",required=true)
        @XmlID
        private String id;

SAIDA CONSOLE E ARQUIVO

JAXBContext context = JAXBContext.newInstance("br.com.yeld.ynfe.notafiscal");
            //saída 1 ? console
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            File t = new File("NFeTESTE.xml");
            m.marshal(nf,System.out);
            //Saída 2 - arquivo
            Marshaller m2 = context.createMarshaller();
            m2.marshal(infNfe, new FileOutputStream(t));

XML GERADO

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Nfe xmlns:ns2=<a href="http://www.portalfiscal.inf.br/nfe">http://www.portalfiscal.inf.br/nfe</a>”>





BA

414696150

Venda a prazo





00000000000014

RAZÃO SOCIAL - NOME

FANTASIA



RUA FULADO DE TAL

000006

CENTRO

0000007

EUNAPOLIS

BA

45820000

1058

Brasil

[telefone removido]

00000000000014







00000000000014

NOME DO CLIENTE



ENDERECO DO CLIENTE

000010

PROXIMO DE ALGUM LUGAR

CENTRO

0000007

EUNAPOLIS

BA

45820000

1058

Brasil

[telefone removido]

00000000000014









G0001

RACAO PARA CACHORRO

000001

00001

Genero do produto

5102

UN

10

10

0

0

0

1.00

1.00

1.00









G0002

RACAO PARA CACHORRO

000001

00001

Genero do produto

5102

UN

10

10

0

0

0

1.00

1.00

1.00







</ns2:Nfe></blockquote>

ERRO AO PERSISTIR


20/07/2009 09:41:20 ynfe.Main main
SEVERE: null
javax.xml.bind.MarshalException

  • with linked exception:
    [com.sun.istack.internal.SAXException2: unable to marshal type “br.com.yeld.ynfe.notafiscal.NotaFiscal$InfNfe” as an element because it is missing an @XmlRootElement annotation]
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:304)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:230)
    at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:75)
    at br.com.yeld.ynfe.pojo.XML.gerarXML(XML.java:142)
    at ynfe.Main.main(Main.java:37)
    Caused by: com.sun.istack.internal.SAXException2: unable to marshal type “br.com.yeld.ynfe.notafiscal.NotaFiscal$InfNfe” as an element because it is missing an @XmlRootElement annotation
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:226)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:267)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:472)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:301)
    … 4 more
    CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

Onde estou vacilando?, futuquei futuquei e ainda n encontrei.

Falew

8 Respostas

T

Conheça os produtos da TecnoSpeed para NF-e.

Tem componentes, soluções para sistemas legados, gerenciador de notas e um programa emissor de nfe.
Integração com arquivo texto bem simples e fornecem atualizações e suporte técnico.

Os produtos tem ótima relação custo x benefício e são compatíveis com todos os estados brasileiros. A TecnoSpeed é especializada em NF-e.

Confira a demo em nossa área de download:
http://www.tecnospeed.com.br/index2.php?pg=produtos&id=16

Obrigado!

U

Achei o vacilo.

1. JAXBContext context = JAXBContext.newInstance("br.com.yeld.ynfe.notafiscal");  
   2.            //saída 1 ? console  
   3.            Marshaller m = context.createMarshaller();  
   4.            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);  
   5.            File t = new File("NFeTESTE.xml");  
   6.            m.marshal(nf,System.out);  
   7.            //Saída 2 - arquivo  
   8.            Marshaller m2 = context.createMarshaller();  
   9.            m2.marshal(infNfe, new FileOutputStream(t));

Apenas substituir o “infNfe” por “nf”.

Falew;

T

UpTheIrons:
Olá pessoal,

Duas dúvidas:

1ª - No portal da SEFAZ (http://www.nfe.fazenda.gov.br/portal/emissor.aspx), tem um emissor de NFe,
como já existe, pq “nós” estamos desenvolvendo tb, ele n atende a todos? ou a tudo?

2ª - Estou ainda na geração do meu XML e qdo executo ele me mostra em console OK, mas qdo tento persistir dá erro.

INICIO DO CÓDIGO (onde acho q pode estar o prob)

@XmlRootElement(name="Nfe", namespace="http://www.portalfiscal.inf.br/nfe")
public class NotaFiscal {


    protected InfNfe infNfe;

    public InfNfe getInfNfe() {
        return infNfe;
    }

    public void setInfNfe(InfNfe infNfe) {
        this.infNfe = infNfe;
    }
      

    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(propOrder={"id", 
    "versao", "ide", "emit", "dest", "det"})
    public static class InfNfe {

        @XmlAttribute(name="Id",required=true)
        @XmlID
        private String id;

SAIDA CONSOLE E ARQUIVO

JAXBContext context = JAXBContext.newInstance("br.com.yeld.ynfe.notafiscal");
            //saída 1 ? console
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            File t = new File("NFeTESTE.xml");
            m.marshal(nf,System.out);
            //Saída 2 - arquivo
            Marshaller m2 = context.createMarshaller();
            m2.marshal(infNfe, new FileOutputStream(t));

XML GERADO

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Nfe xmlns:ns2=<a href="http://www.portalfiscal.inf.br/nfe">http://www.portalfiscal.inf.br/nfe</a>”>





BA

414696150

Venda a prazo





00000000000014

RAZÃO SOCIAL - NOME

FANTASIA



RUA FULADO DE TAL

000006

CENTRO

0000007

EUNAPOLIS

BA

45820000

1058

Brasil

[telefone removido]

00000000000014







00000000000014

NOME DO CLIENTE



ENDERECO DO CLIENTE

000010

PROXIMO DE ALGUM LUGAR

CENTRO

0000007

EUNAPOLIS

BA

45820000

1058

Brasil

[telefone removido]

00000000000014









G0001

RACAO PARA CACHORRO

000001

00001

Genero do produto

5102

UN

10

10

0

0

0

1.00

1.00

1.00









G0002

RACAO PARA CACHORRO

000001

00001

Genero do produto

5102

UN

10

10

0

0

0

1.00

1.00

1.00







</ns2:Nfe></blockquote>

ERRO AO PERSISTIR

Então vi que tu resolveu o problema. mas quanto à sua pergunta sobre o software da receita. Ele funciona sim, inclusive há versões para o ambiente de homologação e o ambiente de produção. mas há alguns pontos a citar:

1- o software não é totalmente automatizado.
2- vc não tem suporte, ou seja se mudarem campos, por exemplo da NF-e vc não sabe quando sairá uma nova versão do software da receita que acompanhe a mudança.
3- Daqui a pouco tempo a receita liberará a carta de correção eletrônica a ser mais uma feature da NF-e. Não se sabe se o sistema da receita acompanhará a evolução.
4- qualquer erro de transmissão de notas repetidas, ou qualquer coisa do tipo, a receita não se responsabiliza pela multa, mas um parceiro fiscal sim. (ou seja, vc não tem em quem por a culpa hehehe ).

obs: não deixem meu chefe saber que eu inclui o item 4 hehehe

abraços!

U

O 4º item foi f… *rrrrr

Mas entendi, é que talvez eu precise usar até terminar o meu, pq acho q n vou
terminar a tempo, mas tô correndo atrás do prejuízo…

Valeu a atenção velhinho…

[]s

A

UpTheIrons

vc esta usando oracle para gravar o xml? se sim… vc conseguiu registrar o xsd??

U

Não tentei gravar em banco ainda, mas vai ser Postgre.

G

Olá, estou precisando da Nfe tb, vc ja´conseguiu fazer a sua? nao tem como entrarmos em um acordo ($) para vc liberar o codigo nao?

U

Olá Felipe,

Eu dei uma parada, mas preciso retornar…
Talvez a partir da próxima semana eu já consiga por a mão na massa novamente, mas podemos trocar algumas idéias enqto isso
e durante o desenvolvimento, pq tb tenho muitas dúvidas ainda.

[]s

Criado 20 de julho de 2009
Ultima resposta 23 de set. de 2009
Respostas 8
Participantes 5