NF-e Paranaense

28 11 2008
NFE

NFE

Homologar a emissão de NF-e no ambiente paranaense é um transtorno, só depois de dias tentando falar com o suporte da Receita Estadual sem sucesso, consegui resolver a pendenga com a ajuda do Fernando Derkoski, e para quem está com problemas em transmitir NF-e pra essas bandas usando Visual Studio aqui vai a solução automatizada/funcional:

1- Importe os WSDL do ambiente de algum outro estado (SP por exemplo)

2- Abra o App.Config e altere os endereços originais pelos endereços que estão no site da Receita Estadual.

Simples assim :)

Seguem os links dos endereços que utilizei:

WebServices do ambiente de homologação da SEFAZ/SP:

  • NfeRecepcao
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao.asmx
  • NfeRetRecepcao
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao.asmx
  • NfeCancelamento
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento.asmx
  • NfeInutilizacao
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao.asmx
  • NfeStatusServico
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico.asmx
  • NfeConsultaNF
    https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta.asmx

WebServices do ambiente de homologação da SEFAZ/PR:

  • NfeRecepcao
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeRecepcao
  • NfeRetRecepcao
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeRetRecepcao
  • NfeCancelamento
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeCancelamentoNF
  • NfeInutilizacao
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeInutilizacaoNF
  • NfeStatusServico
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeStatusServicoNF
  • NfeConsultaNF
    https://homologacao.nfe.fazenda.pr.gov.br/NFENWebServices/services/nfeConsultaNF

Ações

Informações

20 respostas

9 12 2008
daniel9c

Opa… vlw cara… muito útil este seu post para quem esta tendo problemas com a nf-e. vlw.

13 02 2009
Adilson

Alguem está conseguindo assinar corretamente a NFe para o Paraná?

13 02 2009
rafrancoso

A Assinatura é independente do estado, tenho alguns clientes que emitem sem problema aqui no PR

5 03 2009
gama

rafrancoso, certificado de qual empresa está passando na sefaz paraná. Estou tendo problemas com certificados da serasa.

5 03 2009
rafrancoso

Serasa também, caso precise de ajuda, mande a mensagem de erro e o trecho do código no meu email.

13 05 2009
Fernando Derkoski

Aizá, muito obrigado pelos créditos.

2 06 2009
Julio Cesar

Rafrancoso,
Boa tarde amigo!
Estou iniciando um projeto de Nfe e estou com algumas duvidas em relação a ceritificado. Tem como acessar os webservices para teste? tipo emitir uma nota teste para validação? essas coisas… desde já obrigado.

2 06 2009
rafrancoso

Olá amigo,
As informações que você me pediu podem ser encontradas no site da NFe: http://www.nfe.fazenda.gov.br, no link “Legislação e Documentos”. Em tempo, o Certificado na verdade é um e-CNPJ (http://www.certisign.com.br/produtos-e-servicos/certificados-digitais/e-cnpj) que seu cliente tem que adquirir.
A receita estadual/federal oferece um ambiente de homologação onde você pode testar todas as funcionalidades do seu aplicativo de emissão irrestritamente. porém para acessar esse ambiente é necessário ter um e-cnpj e ter solicitado autorização pra emissão de NFe junto a receita. Espero ter ajudado, qualquer coisa é só perguntar.

Falow

23 06 2009
Everton Tomazi

e ai pessoal!!
pois he me deparei com esse problema, em utilizar o web service do parana, ta complicado, segui os passos e nada, tentei com outros não só com sp tentei com rs e não deu certo. será qe errei em algum ponto…
estou utilizando vb2008, creio que vcs conhecem o programa uninfe da unimake que é opensource.
ele é feito em c# mas como não me dou bem com c#, converti o codigo para vb2008. em relação a conversão esta certo pois nos ambientes de sc, ja enviei em homologação e processei os retorno, somente no parana que ta dando problema.

23 06 2009
rafrancoso

Everton,
faça uma busca em seu projeto pelos endereços dos webservices, tive que alterar em uns 3 lugares diferentes pra funcionar direito depois fiz algumas alterções pra unificar os endereços no App.Config

Pra saber certinho, vai nos métodos dos webServices, clica com o botão direito e pede pra ir pra implementação daquele método, coloca um break point onde estiver obtendo o endereço e verifique se o endereço que ele tá pegando é o correto…

qqer coisa estamos aí..
falowww

24 06 2009
Everton Tomazi

obrigado pelo apoio..
mas ainda nada ele retorna um erro

System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. —> System.Net.WebException: A conexão subjacente estava fechada: Não foi possível estabelecer relação de confiança para o canal seguro de SSL/TLS. —> System.Security.Authentication.AuthenticationException: O certificado remoto é inválido, de acordo com o procedimento de validação.
em System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
em System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
em System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
em System.Net.TlsStream.CallProcessAuthentication(Object state)
em System.Threading.ExecutionContext.runTryCode(Object userData)
em System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
em System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
em System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
em System.Net.ConnectStream.WriteHeaders(Boolean async)
— Fim do rastreamento de pilha de exceções internas —
em System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
em System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
em System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
em ForNFE.wsPRHRecepcao.NfeRecepcao.nfeRecepcaoLote(String nfeCabecMsg, String nfeDadosMsg) na C:\Users\Everton Tomazi\Nfe2\WindowsApplication1\WindowsApplication1\Web References\wsPRHRecepcao\Reference.vb:linha 80
— Fim do rastreamento de pilha de exceções internas —
em System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
em System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
em System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
em System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
em ForNFE.nfeclass.NfeClass.InvocarObjeto(String cVersaoDados, Object oServico, String cMetodo, String cFinalArqEnvio, String cFinalArqRetorno) na C:\Users\Everton Tomazi\Nfe2\WindowsApplication1\WindowsApplication1\NfeClass.vb:linha 723

25 06 2009
Everton Tomazi

é que como funciona no ambiente de sc?
estou somente fazendo testes, não estamos cadastrados na homologação, creio que no ambiente do pr é necessario dar entrada na homologação do sistema, nas “pepelada”, dai ele vai responder, ja no sc não ha necessidade, ele responde normalmente, então a pergunta.
para se utilizar o ambiente de homologaçao do parana é necessario iniciar o processo de credenciamento do sistema?

25 06 2009
rafrancoso

Eu nunca tentei conectar sem estar habilitado o ambiente de homologação, fico te devendo essa resposta.

25 06 2009
Everton Tomazi

ok, muito obrigado pela ajuda!!!

26 06 2009
Everton Tomazi

viu guri me add no msn everton_forsell@hotmail.com

26 06 2009
Julio Cesar

Rafrancoso, precisar falar contigo no pvt tem a possibilidade? Meio que com certa urgencia. Abraço

2 07 2009
Julio Cesar

Veja o e-mail amigo. Preciso falar contigo urgente.

Abraço

19 08 2009
Leandro Thomaz

Renato estou utilizando o visual basic 6 e estava tudo funcionando direitinho, ate pedirem pra acessar o parana afff tudo comecou a dar errado. Quando tento me conectar com o webservices do PR da um erro “Bad Certificate” e so acontece isso quando faço com o parana outros estados funciona, esse erro da justamente quando tento enviar a mensagem

msgwebservice = clientesoap.NfeStatusServicoNF(cabecalho , mensagem)

sabe o q pode ser ??/?
desde ja agradeço
Leandro Thomaz —- leandro_oneway@hotmail.com

19 08 2009
rafrancoso

Leandro, o WS do Paraná é complicado, eles tem regras específicas que só Deus sabe… mas assim, entra
no site da receita do PARANA e baixa toda aquela cadeia de certificados, verifica se ao visualizar o certificado ele não aparece com nenhum erro, se der zica tenta baixar o certificado raiz desse site: http://www.iti.gov.br/twiki/bin/view/Certificacao/RepositoriodaACRaiz?rev=49 é o repositório oficial do certificado raiz. Se mesmo assim der zica, tenta falar com o pessoal da receita estadual da sua cidade, talvêz eles possam te ajudar.

24 06 2009
rafrancoso

Everton, esse erro que você está mostrando é falha na autenticação do seu certificado digital na conexão, eu costumo, depois de instalar o certificado, exportar ele pro formato .cer e no código fonte eu autentico assim:

NfeRecepcao recep = new NfeRecepcao();
recep.ClientCertificates.Add(X509Certificate.CreateFromCertFile("certificado.cer"));
recep.nfeRecepcaoLote(cabecMsg, corpoMsg);

Deixe um comentário