none
Problema ao acessar o WS da Sefaz-CE - NFe 2.0 - ASP.NET 2.0 - C# RRS feed

  • Pergunta

  • Prezados, 

    estou com problemas ao acessar o webservice da SEFAZ-CE em ambiente de produção[1] para emitir NFe. Em ambiente de homologação[2] dá tudo certo, consigo executar todas as operações sem problemas.

    [1] - https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2
    [2] - https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2

    Estou tentando executar este código em C# 2.0:

    br.gov.ce.sefaz.nfe.NfeRecepcao2.NfeRecepcao2 nfeService = new br.gov.ce.sefaz.nfe.NfeRecepcao2.NfeRecepcao2();
    nfeService.ClientCertificates.Add(cert);
    nfeService.nfeCabecMsgValue = CriaCabecalhoRecepcaoLote("CE");
    resposta = nfeService.nfeRecepcaoLote2(xmlNFE);
    

    Como disse, em homologação não ocorre nenhum tipo de problema, mas em produção recebo este erro:

    A conexão subjacente estava fechada: Erro inesperado em um envio. 
    Falha na autenticação porque o participante remoto fechou o fluxo de transporte.

    Fiz várias pesquisas e encontrei algumas soluções. Aparentemente seria um problema com o certificado, mas este já é utilizado no mesmo servidor por outra aplicação. Algumas soluções para este problema com a SEFAZ-MT foram:

    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;

    Além das seguintes:

    http://forums.asp.net/t/1622470.aspx/1
    http://blogs.msdn.com/b/jpsanders/archive/2009/01/07/you-receive-one-or-more-error-messages-when-you-try-to-make-an-http-request-in-an-application-that-is-built-on-the-net-framework-2-0.aspx
    http://support.microsoft.com/kb/915599

    Infelizmente nenhuma deu certo, o erro persiste. Alguém poderia me ajudar?

    Grato.

    sexta-feira, 7 de junho de 2013 13:33

Todas as Respostas

  • Também tentei colocar o seguinte código no Reference.cs para setar o KeepAlive da conexão para false, mas não mudou nada, continua o erro.

            protected override System.Net.WebRequest GetWebRequest(Uri uri)
            {
                System.Net.HttpWebRequest webRequest =
                 (System.Net.HttpWebRequest)base.GetWebRequest(uri);
                webRequest.KeepAlive = false; 
                return webRequest;
            }


    • Editado Misael Ferreira sexta-feira, 7 de junho de 2013 14:42 Erro no código.
    sexta-feira, 7 de junho de 2013 14:41
  • Misael, tudo bem, estou com o mesmo problema com o CE, ja enviei e-mail pra sefaz de la e nada de resposta que preste.

    Você conseguiu alguma coisa?

    Atenciosamente

    Guilherme Volpi

    guilhermevolpi@softensistemas.com.br

    segunda-feira, 17 de junho de 2013 12:12