Login Registre-se
CC-e: Exemplo Java Envio do Lote (Carta de Correção Eletronica)  XML
Índice dos Fóruns » Artigos / Tutoriais
Autor Mensagem
macielgoncalves

Administrador
[Avatar]

Membro desde: 06/03/2011 14:49:25
Mensagens: 1237
Localização: Tubarão - SC
Offline

Olá Pessoal,

Com a liberação da Nota Técnica 2011/003 (Registro de Eventos da Nota Fiscal Eletrônica Carta de Correção) o ENCAT liberou em ambiente de homologação e produção o CC-e (Carta de Correção Eletrônica), que deve ser utilizada conforme legislação abaixo:


"Art. 7º Os documentos fiscais referidos nos incisos I a V do artigo anterior deverão ser extraídos por decalque a carbono ou em papel carbonado, devendo ser preenchidos a máquina ou manuscritos a tinta ou a lápis-tinta, devendo ainda os seus dizeres e indicações estar bem legíveis, em todas as vias.
(...)
§ 1º-A Fica permitida a utilização de carta de correção, para regularização de erro ocorrido na emissão de documento fiscal, desde que o erro não esteja relacionado com:
I - as variáveis que determinam o valor do imposto tais como: base de cálculo, alíquota, diferença de preço, quantidade, valor da operação ou da prestação;
II - a correção de dados cadastrais que implique mudança do remetente ou do destinatário;
III - a data de emissão ou de saída."


Web Service - RecepcaoEvento - Carta de Correção



Abaixo esta um exemplo simples do Envio do Lote da CCe e um exemplo do XML que deve ser Assinado antes do envio:


XML exemplo: XML de Envio do Lote da CC-e (Carta de Correção Eletrônica).
Libs utilizadas no Projeto CC-e: CC-e: LIB CC-e.

Downloads JavaC

Att,

Esta mensagem foi editada 4 vezes. Última atualização foi em 13/06/2012 09:52:38


Maciel Gonçalves
Administrador (JavaC - Java Community)
Seguir no Twitter @macielgoncalves



Projeto NF-e, CT-e, CC-e? Comece Por Aqui!

Quer saber mais sobre NF-e? Acesse www.MACIELGONCALVES.com.br

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original." Albert Einstein
"Seja liberal naquilo que você aceita, e conservador naquilo que você propaga". Jon Postel.
"A coisa mais indispensável a um homem é reconhecer o uso que deve fazer do seu próprio conhecimento". Platão


Emissão de Documentos Fiscais para Desenvolvedores Java


Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!

[WWW] [MSN]
rafaelbtz

JavaC Membro

Membro desde: 23/07/2012 17:45:36
Mensagens: 2
Offline

macielgoncalves, parabéns pelo seus posts aqui no JavaC, você deve estar salvando a vida de muita gente por aqui.

Só uma dúvida, vejo que você utiliza o Axis2 para comunicação, e configura os certificados com o System.setProperty(,
existe alguma maneira de utilizar vários certificados em uma mesma JVM (exemplo em um servidor WEB) utilizando alguma alternativa ao System.setProperty?

Obrigado...
ricardomnlima

JavaC Membro

Membro desde: 07/08/2012 22:04:33
Mensagens: 14
Offline

Boa tarde,

Você teria um exemplo de como fazer o download do xml via soap?

usando:
https://www.sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx
waldeildojunior

JavaC Membro

Membro desde: 28/05/2013 11:48:43
Mensagens: 1
Offline

macielgoncalves gostaria da sua ajuda, segui o exemplo que você montou para poder cancelar NFe, mas estou com um erro

org.apache.axis2.AxisFault: java.rmi.RemoteException: null; nested exception is:
java.lang.NullPointerException


o erro acontece nessa linha:
RecepcaoEventoStub.NfeRecepcaoEventoResult result = stub.nfeRecepcaoEvento(dadosMsg, nfeCabecMsgE);

Esta mensagem foi editada 1 vez. Última atualização foi em 28/05/2013 13:59:54

kaoe

JavaC Membro

Membro desde: 05/06/2013 12:39:56
Mensagens: 2
Offline

Olá Ricardo,

Em geral este erro de null no Axis2 ocorre quando você monta o XML e você tenta salvar um nó com valor nulo. Se ele é opcional não coloque e se ele for em barnco coloque uma string vazia
kaoe

JavaC Membro

Membro desde: 05/06/2013 12:39:56
Mensagens: 2
Offline


Olá Rafael,

Sim existe uma forma de você usar vários certificados diferentes. A opção simples e fazer o código de envio syncronized e ai você consegue garantir que não há troca da chave até que um processo termino. A forma mais complexa que é a que eu uso você deve criar uma classe sua que implemente SecureProtocolSocketFactory e as dependencias como SecureProtocolSocketFactory e ai você define ela antes de chamar como

SeuSocketFactory factory = new SeuSocketFactory(seus parametros);
Protocol sslProtocol = new Protocol("https", SeuSocketFactory.getContext(), 443);
Protocol.registerProtocol("https", sslProtocol);

E ai funciona bem. Você acha exemplo da implementação de SecureProtocolSocketFactory no google pois foi assim que criei a minha!
 
Índice dos Fóruns » Artigos / Tutoriais
Ir para:   
Powered by JForum 2.1.9 © JForum Team