FONTE NFE VB.NET
Estou recebendo a mensagem [Ô]a conexao subjacente estava fechada, nao foi possivel estabelecer relacao de confianca para o canal seguro SSL/TLS[Ô], em RN para envio da NFE 3.10
Li alguns artigos que talvez esta faltando enviar o protocolo SSL/TLS, alguem pode dar uma dica como enviar, estou fazendo conforme o exemplo aki do forum porem não obtive sucesso
Public Function EnviaLote310(ByVal EndArquivoXml As String) As RetEnvio
Dim strRetorno As XmlElement
Dim xmldoc = New XmlDocument()
Try
xmldoc.Load(EndArquivoXml)
Catch ex As Exception
MsgBox([Ô]Arquivo Não foi gerado[Ô], MsgBoxStyle.Critical, [Ô]Envio NFE[Ô])
Exit Function
End Try
xmldoc.Load(EndArquivoXml) [ô]Carrega o arquivo XML
Dim CERT As X509Certificate2
CERT = SelecionarCertificado(vPar_Certificado_NrSerial)
Try
[ô] -------------------- NAO SEI COMO ENVIAR ESTAS LINHAS PARA ENVIAR
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls Or System.Net.SecurityProtocolType.Ssl3
Dim req = DirectCast(WebRequest.Create(S_Url.UrlNFeAutorizacao310), HttpWebRequest)
req.Method = [Ô]GET[Ô]
[ô]-------------------------------------------------------------------
Dim wsMsg As New AutorizacaoNFe.NfeAutorizacao(S_Url.UrlNFeAutorizacao310)
Dim cab As New AutorizacaoNFe.nfeCabecMsg
[ô]UF E VERSÃO DO CABEÇALHO
cab.cUF = S_Url.CodigoUF
cab.versaoDados = VersaoAtualNfe
Dim Notas As String
[ô]CABEÇALHO USADA PARA ENVIO DE LOTE
[ô]wsMsg = New NFeAutorizacao.NfeAutorizacao(S_Url.UrlNFeAutorizacao310)
wsMsg.nfeCabecMsgValue = cab
wsMsg.Timeout = 100000
wsMsg.ClientCertificates.Add(CERT)
wsMsg.SoapVersion = SoapProtocolVersion.Soap12
Notas = xmldoc.OuterXml
[ô]RETORNO DA SEFAZ
strRetorno = wsMsg.nfeAutorizacaoLote(xmldoc)
[ô]DESMEMBRA RETORNO XML
Dim StrRetNota As RetEnvio = Nothing
Dim XmlText As XmlDocument = New XmlDocument
For Each outerNode As XmlNode In strRetorno
For Each InnerNode As XmlNode In outerNode.ChildNodes
If (InnerNode.Name = [Ô]verAplic[Ô] Or outerNode.Name = [Ô]verAplic[Ô]) Then
StrRetNota.verAplic = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]cStat[Ô] Or outerNode.Name = [Ô]cStat[Ô]) Then
StrRetNota.cStat = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]xMotivo[Ô] Or outerNode.Name = [Ô]xMotivo[Ô]) Then
StrRetNota.xMotivo = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]cUF[Ô] Or outerNode.Name = [Ô]cUF[Ô]) Then
StrRetNota.cUF = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]nRec[Ô] Or outerNode.Name = [Ô]nRec[Ô]) Then
StrRetNota.nRec = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]dhRecbto[Ô] Or outerNode.Name = [Ô]dhRecbto[Ô]) Then
StrRetNota.dhRecbto = InnerNode.InnerText
End If
If (InnerNode.Name = [Ô]tMed[Ô] Or outerNode.Name = [Ô]tMed[Ô]) Then
StrRetNota.tMed = InnerNode.InnerText
End If
Next
Next
Return StrRetNota
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information, [Ô]Envio do Lote[Ô])
Return Nothing
End Try
End Function
Esta parecendo falta de atualização de certificado digital, ta um saco isso.
Citação::
Qual UF ?
Esta parecendo falta de atualização de certificado digital, ta um saco isso.
Fala NILSONTRES, tudo bom ?
UF é RN , rio grande do norte, o pior que eu instalei o programa da SEFAZ na maquina pra testar e funcionou, porem meu sistema não funciona !!!
Seria problema de protocolo no envio ?
Citação::
:
Qual UF ?
Esta parecendo falta de atualização de certificado digital, ta um saco isso.
Fala NILSONTRES, tudo bom ?
UF é RN , rio grande do norte, o pior que eu instalei o programa da SEFAZ na maquina pra testar e funcionou, porem meu sistema não funciona !!!
Seria problema de protocolo no envio ?
O programa da Sefaz já está na versão 4.0?
Citação::
:
:
Qual UF ?
Esta parecendo falta de atualização de certificado digital, ta um saco isso.
Fala NILSONTRES, tudo bom ?
UF é RN , rio grande do norte, o pior que eu instalei o programa da SEFAZ na maquina pra testar e funcionou, porem meu sistema não funciona !!!
Seria problema de protocolo no envio ?
O programa da Sefaz já está na versão 4.0?
Acredito que não, pois o Sefaz parou de atualizar o Sistema deles
Citação::
:
:
:
Qual UF ?
Esta parecendo falta de atualização de certificado digital, ta um saco isso.
Fala NILSONTRES, tudo bom ?
UF é RN , rio grande do norte, o pior que eu instalei o programa da SEFAZ na maquina pra testar e funcionou, porem meu sistema não funciona !!!
Seria problema de protocolo no envio ?
O programa da Sefaz já está na versão 4.0?
Acredito que não, pois o Sefaz parou de atualizar o Sistema deles
Nao, o sistema da SEFAZ esta no 3.10
eu tentei gerar mais esta dando erro
essa e a classe que gerei
[ô]------------------------------------------------------------------------------
[ô] <auto-generated>
[ô] This code was generated by a tool.
[ô] Runtime Version:4.0.30319.1
[ô]
[ô] Changes to this file may cause incorrect behavior and will be lost if
[ô] the code is regenerated.
[ô] </auto-generated>
[ô]------------------------------------------------------------------------------
[ô]
[ô] This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.1.
[ô]
Option Strict Off
Option Explicit On
Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization
Namespace NFEAutorizacao
[ô][ô][ô] <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]System.Web.Services[Ô], [Ô]4.0.30319.1[Ô])> _
<System.Diagnostics.DebuggerStepThroughAttribute()> _
<System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])> _
<System.Web.Services.WebServiceBindingAttribute(Name:=[Ô]NfeAutorizacao4ServiceBinding[Ô], [Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4[Ô])> _
Partial Public Class NfeAutorizacao
Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
Private nfeCabecMsgValueField As nfeCabecMsg
Private nfeAutorizacaoLoteOperationCompleted As System.Threading.SendOrPostCallback
Private useDefaultCredentialsSetExplicitly As Boolean
[ô][ô][ô] <remarks/>
Public Sub New(urlRef As String)
Me.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12
Me.Url = urlRef
If (Me.IsLocalFileSystemWebService(Me.Url) = True) Then
Me.UseDefaultCredentials = True
Me.useDefaultCredentialsSetExplicitly = False
Else
Me.useDefaultCredentialsSetExplicitly = True
End If
End Sub
Public Property nfeCabecMsgValue() As nfeCabecMsg
Get
Return Me.nfeCabecMsgValueField
End Get
Set(value As nfeCabecMsg)
Me.nfeCabecMsgValueField = value
End Set
End Property
Public Shadows Property Url() As String
Get
Return MyBase.Url
End Get
Set(value As String)
If (((Me.IsLocalFileSystemWebService(MyBase.Url) = True) AndAlso (Me.useDefaultCredentialsSetExplicitly = False)) AndAlso (Me.IsLocalFileSystemWebService(value) = False)) Then
MyBase.UseDefaultCredentials = False
End If
MyBase.Url = value
End Set
End Property
Public Shadows Property UseDefaultCredentials() As Boolean
Get
Return MyBase.UseDefaultCredentials
End Get
Set(value As Boolean)
MyBase.UseDefaultCredentials = value
Me.useDefaultCredentialsSetExplicitly = True
End Set
End Property
[ô][ô][ô] <remarks/>
Public Event nfeAutorizacaoLoteCompleted As nfeAutorizacaoLoteCompletedEventHandler
[ô][ô][ô] <remarks/>
<System.Web.Services.Protocols.SoapDocumentMethodAttribute([Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4/nfeAutorizacaoLote[Ô], Use:=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle:=System.Web.Services.Protocols.SoapParameterStyle.Bare)> _
Public Function nfeAutorizacaoLote(<System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao[Ô])> nfeDadosMsg As System.Xml.XmlNode) As <System.Xml.Serialization.XmlElementAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4[Ô])> System.Xml.XmlNode
Dim results As Object() = Me.Invoke([Ô]nfeAutorizacao4[Ô], New Object() {nfeDadosMsg})
Return DirectCast(results(0), System.Xml.XmlNode)
End Function
[ô][ô][ô] <remarks/>
Public Sub nfeAutorizacaoLoteAsync(nfeDadosMsg As System.Xml.XmlNode)
Me.nfeAutorizacaoLoteAsync(nfeDadosMsg, Nothing)
End Sub
[ô][ô][ô] <remarks/>
Public Sub nfeAutorizacaoLoteAsync(nfeDadosMsg As System.Xml.XmlNode, userState As Object)
If (Me.nfeAutorizacaoLoteOperationCompleted Is Nothing) Then
Me.nfeAutorizacaoLoteOperationCompleted = New System.Threading.SendOrPostCallback(AddressOf Me.OnnfeAutorizacaoLoteOperationCompleted)
End If
Me.InvokeAsync([Ô]nfeAutorizacao4[Ô], New Object() {nfeDadosMsg}, Me.nfeAutorizacaoLoteOperationCompleted, userState)
End Sub
Private Sub OnnfeAutorizacaoLoteOperationCompleted(arg As Object)
If arg IsNot Nothing Then
[ô]nfeAutorizacaoLoteCompleted
Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = DirectCast(arg, System.Web.Services.Protocols.InvokeCompletedEventArgs)
[ô]nfeAutorizacaoLoteCompleted(Me, New nfeAutorizacaoLoteCompletedEventArgs(invokeArgs.Results, invokeArgs.[Error], invokeArgs.Cancelled, invokeArgs.UserState))
End If
End Sub
[ô][ô][ô] <remarks/>
Public Shadows Sub CancelAsync(userState As Object)
MyBase.CancelAsync(userState)
End Sub
Private Function IsLocalFileSystemWebService(url As String) As Boolean
If ((url Is Nothing) OrElse (url = String.Empty)) Then
Return False
End If
Dim wsUri As New System.Uri(url)
If ((wsUri.Port >= 1024) AndAlso (String.Compare(wsUri.Host, [Ô]localHost[Ô], System.StringComparison.OrdinalIgnoreCase) = 0)) Then
Return True
End If
Return False
End Function
End Class
[ô][ô][ô] <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]System.Xml[Ô], [Ô]4.0.30319.1[Ô])> _
<System.SerializableAttribute()> _
<System.Diagnostics.DebuggerStepThroughAttribute()> _
<System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])> _
<System.Xml.Serialization.XmlTypeAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4[Ô])> _
<System.Xml.Serialization.XmlRootAttribute([Namespace]:=[Ô]http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4[Ô], IsNullable:=False)> _
Partial Public Class nfeCabecMsg
Inherits System.Web.Services.Protocols.SoapHeader
Private cUFField As String
Private versaoDadosField As String
[ô][ô][ô] <remarks/>
Public Property cUF() As String
Get
Return Me.cUFField
End Get
Set(value As String)
Me.cUFField = value
End Set
End Property
[ô][ô][ô] <remarks/>
Public Property versaoDados() As String
Get
Return Me.versaoDadosField
End Get
Set(value As String)
Me.versaoDadosField = value
End Set
End Property
End Class
[ô][ô][ô] <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]System.Web.Services[Ô], [Ô]4.0.30319.1[Ô])> _
Public Delegate Sub nfeAutorizacaoLoteCompletedEventHandler(sender As Object, e As nfeAutorizacaoLoteCompletedEventArgs)
[ô][ô][ô] <remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute([Ô]System.Web.Services[Ô], [Ô]4.0.30319.1[Ô])> _
<System.Diagnostics.DebuggerStepThroughAttribute()> _
<System.ComponentModel.DesignerCategoryAttribute([Ô]code[Ô])> _
Partial Public Class nfeAutorizacaoLoteCompletedEventArgs
Inherits System.ComponentModel.AsyncCompletedEventArgs
Private results As Object()
Friend Sub New(results As Object(), exception As System.Exception, cancelled As Boolean, userState As Object)
MyBase.New(exception, cancelled, userState)
Me.results = results
End Sub
[ô][ô][ô] <remarks/>
Public ReadOnly Property Result() As System.Xml.XmlNode
Get
Me.RaiseExceptionIfNecessary()
Return DirectCast(Me.results(0), System.Xml.XmlNode)
End Get
End Property
End Class
End Namespace
mais quando uso a classe para enviar um lote ao sefaz retorna o erro
[Ô]O Metodo NFeAutorizacao4 do Serviço da web é Invalido[Ô]
alguém já passou por isso?
Citação::
Algum exemplo de como se comunicar versão 4.0 com TLS 1.2 ?
Cara eu consegui pegar o status do Servidor mais não estou conseguindo enviar lotes ao sefaz
Citação:Cara eu consegui pegar o status do Servidor mais não estou conseguindo enviar lotes ao sefaz
Eu vi sua função, mas não consegui testar porque envolve outras função que vc não postou.