none
A conexão subjacente estava fechada: Erro inesperado em um envio. RRS feed

  • Pergunta

  • Galera vê se vocês podem me ajudar estou tentando fazer uma carta de correção no meu programa só que faz dias que não estou conseguindo resolver este erro

    quinta-feira, 24 de outubro de 2019 17:11

Todas as Respostas

  • Mikael Feitosa,

       Desculpe, você chegou a consultar esses links?

    =============================================
    Rejeição: A conexão subjacente estava fechada: Não foi possível estabelecer relação de confiança para o canal seguro de SSL/TLS.

    Esse erro acontece porque existe algum problema com o certificado digital. Um desses problemas pode ser porque a cadeia de o certificado está desatualizada ou não está instalada.
    Para solucionar este erro é necessário instalar o novo certificado digital da AC Raiz Brasileira no equipamento.
    Acesse o link e veja qual a última versão disponível do certificado:
    http://www.iti.gov.br/icp-brasil/certificados/188-atualizacao/4530-ac-raiz 

    http://ajuda.cisinformatica.com.br/rejeicao-a-conexao-subjacente-estava-fechada-nao-foi-possivel-estabelecer-relacao-de-confianca-para-o-canal-seguro-de-ssl-tls/
    =============================================
    Erro: NFe – A conexão subjacente estava fechada 

    http://erptechnoserv.com/erro-nfe-a-conexao-subjacente-estava-fechada/
    =============================================
    [Falha na emissão] A conexão subjacente estava fechada

    https://github.com/ZeusAutomacao/DFe.NET/issues/822
    =============================================
    Erro WCF - A conexão subjacente estava fechada: A conexão foi fechada de modo inesperado.

    https://social.msdn.microsoft.com/Forums/pt-BR/5df9a097-a273-4fc2-8168-e08137056ae6/erro-wcf-a-conexo-subjacente-estava-fechada-a-conexo-foi-fechada-de-modo-inesperado
    =============================================

    []'s,
    Fabio I.
    quinta-feira, 24 de outubro de 2019 18:24
  • Boa tarde Fabio !

    então eu acessei todos esses site e mais alguns fiz tudo que eles estavam indicando só que o erro ainda persiste ! eu não sei se é algum problema com minha programação ou não 

    quinta-feira, 24 de outubro de 2019 18:34
  • eu emito minha NFE sem nenhum problema mas agora eu preciso implementar carta de correção e cancelamento de nota só que os dois estão dando este erro e eu não sou muito experiente e não consegui achar solução
    quinta-feira, 24 de outubro de 2019 18:36
  • Bom dia Mikael Feitosa!

    Já fez o teste de seguir os procedimentos sugeridos neste artigo?:

    https://blog.softensistemas.com.br/erro-na-recepcao-da-nfe-conexao-subjacente-estava-fechada-erro-inesperado-em-um-envio/

    Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 25 de outubro de 2019 13:04
    Moderador
  • bom dia igor !

    então eu ja fiz todos esses procedimentos e nada adiantou estou perdido no que pode ser se voce achar melhor eu te mando imagens do meu código com as classes que to usando 

    segunda-feira, 28 de outubro de 2019 11:07
  • Boa tarde!

    Sim! nos ajudaria a entender o problema se você nos mostrasse algumas partes chave no seu código.

    A forma mais adequada de postar trechos de código na thread é utilizando o campo para inserção de código na caixa de edição da thread: 

    Basta colar seu seu código no campo que aparecerá, escolher a linguagem que ele está escrita e ele será formatado adequadamente.

    Atenciosamente,


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 28 de outubro de 2019 18:08
    Moderador
  • Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
            If Len(MOTIVOEVENTO.Text) < 15 Or Len(MOTIVOEVENTO.Text) > 1000 Then
                MsgBox(" Obedeça a quantidade de caracteres solicitada !")
                Exit Sub
            End If
            'If PROTOCOLO.Text = "" OrElse CAMINHONFEGERADA.Text = "" Then
            If Not PEDDGV.RowCount < 1 Then
                If PEDDGV.CurrentRow.Cells(4).Value().ToString.Replace(" ", "") = "" OrElse PEDDGV.CurrentRow.Cells(5).Value().ToString.Replace(" ", "") = "" Then
                    MsgBox("Para registrar CARTA DE CORREÇÃO é necessario selecionar uma NFE ! ")
                    Exit Sub
                End If
            Else
                Exit Sub
            End If
    
    
            Dim testMsg As Integer
            testMsg = MsgBox("DESEJA ENVIAR CARTA DE CORREÇÃO PARA ESTA NFE ? ", vbYesNo + vbDefaultButton2 + vbQuestion, " ATENÇÃO ")
            If testMsg = 6 Then
    
    
    
                Dim StrRetorno As RetornoEvento
                Dim CartaCorrecao As New CartaCorrecao
                Dim WebCarta As New C_WebService(UrlAcesso)
    
                'montando a carta de correção
                With CartaCorrecao
                    .nSeqEvento = nevento.Text
                    .Id = "ID" & "110110" & PEDDGV.CurrentRow.Cells(5).Value().ToString & .nSeqEvento.PadLeft(2, "0")
                    .cOrgao = UrlAcesso.CodigoUF
                    'PRODUCAO
                    '.tpAMB = 1
    
                    'HOMOLOGACAO
                    .tpAMB = 2
    
                    If PEDDGV.CurrentRow.Cells(12).Value().ToString = "T5" Then
                        .CNPJ = "19314023000107"
                    End If
                    If PEDDGV.CurrentRow.Cells(12).Value().ToString = "BS" Then
                        .CNPJ = "11877092000109"
                    End If
    
                    .chNFe = PEDDGV.CurrentRow.Cells(5).Value().ToString
                    .dhEvento = Now
                    .xCorrecao = MOTIVOEVENTO.Text
                End With
    
                'seleciona o certificado digital
                Dim certificado As X509Certificate2 = CertificadoDigital.SelecionarCertificado("")
                'assina o xml
                Dim xmlAssinado As XmlDocument = CertificadoDigital.Assinar(CartaCorrecao.GeraXML(), "infEvento", certificado)
                xmlAssinado.Save("C:\SHARKSIS\CARTA.XML")
    
                Dim DocXml As New XmlDocument
                DocXml.Load("C:\SHARKSIS\CARTA.XML")
                'valida o xml
                Dim resultado As String = ValidaXML.ValidarXML(DocXml, REDE.C12.Text & "\CCe_v1.00.xsd")
    
                'se a validação foi bem sucedida
                If resultado.Trim.Length = 0 Then
                    'gera o lote
                    CartaCorrecao.GerarLote(xmlAssinado)
    
                    'envia a carta de correção para o webservice
                    StrRetorno = WebCarta.TransmitirEvento(xmlAssinado.OuterXml)'ENTRA AQUI E DA O ERRO DA CONEXÃO
    
                    'verifica se o lote foi processado
                    If StrRetorno.xMotivo = "Lote de Evento Processado" Then
                        'verifica se o evento foi aceito
                        If StrRetorno.infEvento.xMotivo = "Evento registrado e vinculado a NF-e" Then
                            CartaCorrecao.GerarNotaProcCCe("C:\CARTA.XML", REDE.LF1.Text & "\NFE\EVENTOS\" & "CARTACORRECAO-" & PEDDGV.CurrentRow.Cells(5).Value().ToString & "-" & CartaCorrecao.nSeqEvento.PadLeft(2, "0") & "-procEventoNfe.xml", StrRetorno)
                            STR = "update NFESAIDA set SITUACAO="
                            STR += """" & "CARTA-CORRECAO" & """"
                            STR += " where Código="
                            STR += PEDDGV.CurrentRow.Cells(0).Value.ToString
                            '  ConFISCAL.Open()
                            '  Cmd = New OleDbCommand(STR, ConFISCAL)
                            ' Cmd.ExecuteNonQuery()
                            ' ConFISCAL.Close()
                            MsgBox("Evento registrado com sucesso!")
                            GroupBox2.Visible = False
                            PEDDGV.Enabled = True
                            GroupBox1.Enabled = True
                            Button13.Visible = False
                            Button12.Visible = False
    
                            FILTRA()
                        Else
                            MsgBox(StrRetorno.infEvento.xMotivo, MsgBoxStyle.Information, "Erro...")
                        End If
                    Else
                        MsgBox(StrRetorno.xMotivo, MsgBoxStyle.Information, "Erro...")
                    End If
                Else
                    MsgBox(resultado, MsgBoxStyle.Information, "Erro...")
                End If
    
            End If
    
    
    'AQUI É DENTRO DO TRANSMITIREVENTO
    
      Public Function TransmitirEvento(ByVal CartaCorrecao As String) As RetornoEvento
            Dim strRetorno As XmlElement = Nothing
            Dim xmldoc = New XmlDocument()
            'Carrega o arquivo XML 
            xmldoc.LoadXml(CartaCorrecao)
            Dim CERT As X509Certificate2
            CERT = SelecionarCertificado("")
            '  Try
            Dim wsMsg As RecepcaoEvento.RecepcaoEvento
            Dim cab As New RecepcaoEvento.nfeCabecMsg
    
            cab.cUF = S_Url.CodigoUF
            cab.versaoDados = "1.00"
            'MsgBox(S_Url.UrlNfeRecepcaoEvento)
    
            'CABEÇALHO USADA PARA ENVIO DE LOTE
            wsMsg = New RecepcaoEvento.RecepcaoEvento(S_Url.UrlNfeRecepcaoEvento)
            'wsMsg = New RecepcaoEvento.RecepcaoEvento("https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx")
            wsMsg.nfeCabecMsgValue = cab
            wsMsg.Timeout = 100000
            wsMsg.ClientCertificates.Add(CERT)
            wsMsg.SoapVersion = SoapProtocolVersion.Soap12
    
            'RETORNO DA SEFAZ
            strRetorno = wsMsg.nfeRecepcaoEvento(xmldoc) 'ESSA É A LINHA DO ERRO
    
            'DESMEMBRA RETORNO XML
            Dim StrRetCarta As RetornoEvento = Nothing
            Dim XmlText As XmlDocument = New XmlDocument
    
            Dim nodelist As XmlNodeList = strRetorno.ChildNodes
            For Each outerNode As XmlNode In nodelist
    
                For Each InnerNode As XmlNode In outerNode.ChildNodes
                    If (InnerNode.Name = "versao" Or outerNode.Name = "versao") Then
                        StrRetCarta.versao = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "idLote" Or outerNode.Name = "idLote") Then
                        StrRetCarta.IdLote = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "tpAmb" Or outerNode.Name = "tbAmb") Then
                        StrRetCarta.tpAmb = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "verAplic" Or outerNode.Name = "verAplic") Then
                        StrRetCarta.verAplic = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "cOrgao" Or outerNode.Name = "cOrgao") Then
                        StrRetCarta.cOrgao = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "cStat" Or outerNode.Name = "cStat") Then
                        StrRetCarta.cStat = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "xMotivo" Or outerNode.Name = "xMotivo") Then
                        StrRetCarta.xMotivo = InnerNode.InnerText
                    End If
                    If (InnerNode.Name = "retEvento" Or outerNode.Name = "retEvento") Then
                        StrRetCarta.XmlRecibo = outerNode.OuterXml
                        For Each n As XmlNode In InnerNode
    
                            If (n.Name = "infEvento" Or InnerNode.Name = "infEvento") Then
                                For Each n2 As XmlNode In n
                                    If (n2.Name = "Id" Or n.Name = "Id") Then
                                        StrRetCarta.infEvento.Id = n.InnerText
                                    End If
                                    If (n2.Name = "tpAmb" Or n.Name = "tpAmb") Then
                                        StrRetCarta.infEvento.tpAmb = n.InnerText
                                    End If
                                    If (n2.Name = "verAplic" Or n.Name = "verAplic") Then
                                        StrRetCarta.infEvento.verAplic = n.InnerText
                                    End If
                                    If (n2.Name = "cOrgao" Or n.Name = "cOrgao") Then
                                        StrRetCarta.infEvento.cOrgao = n.InnerText
                                    End If
                                    If (n2.Name = "cStat" Or n.Name = "cStat") Then
                                        StrRetCarta.infEvento.cStat = n.InnerText
                                    End If
                                    If (n2.Name = "xMotivo" Or n.Name = "xMotivo") Then
                                        StrRetCarta.infEvento.xMotivo = n.InnerText
                                    End If
                                    If (n2.Name = "chNFe" Or n.Name = "chNFe") Then
                                        StrRetCarta.infEvento.chNfe = n.InnerText
                                    End If
                                    If (n2.Name = "tpEvento" Or n.Name = "tpEvento") Then
                                        StrRetCarta.infEvento.tpEvento = n.InnerText
                                    End If
                                    If (n2.Name = "xEvento" Or n.Name = "xEvento") Then
                                        StrRetCarta.infEvento.xEvento = n.InnerText
                                    End If
                                    If (n2.Name = "nSeqEvento" Or n.Name = "nSeqEvento") Then
                                        StrRetCarta.infEvento.nSeqEvento = n.InnerText
                                    End If
                                    If (n2.Name = "CNPJDest" Or n.Name = "CNPJDest") Then
                                        StrRetCarta.infEvento.CNPJDest = n.InnerText
                                    End If
                                    If (n2.Name = "CPFDest" Or n.Name = "CPFDest") Then
                                        StrRetCarta.infEvento.CPFDest = n.InnerText
                                    End If
                                    If (n2.Name = "emailDest" Or n.Name = "emailDest") Then
                                        StrRetCarta.infEvento.emailDest = n.InnerText
                                    End If
                                    If (n2.Name = "dhRegEvento" Or n.Name = "dhRegEvento") Then
                                        StrRetCarta.infEvento.dhRetEvento = n.InnerText
                                    End If
                                    If (n2.Name = "nProt" Or n.Name = "nProt") Then
                                        StrRetCarta.infEvento.nProt = n.InnerText
                                    End If
                                Next
                            End If
                        Next
                    End If
                Next
            Next
    
            Return StrRetCarta
    
            '  Catch ex As Exception
            '  MsgBox(ex.Message, MsgBoxStyle.Information, "")
            '   Return Nothing
            ' End Try
        End Function

    segunda-feira, 28 de outubro de 2019 18:25
  • Up !
    quarta-feira, 30 de outubro de 2019 11:10