7
To send XML from an Nfe to MG in version 2.0 I do as follows:
Public Function enviaNFe2(ByVal NumeroDoLote As Integer, ByVal ListiView As ListView, ByVal Label As ToolStripStatusLabel) As Boolean
Dim ret As Boolean = False
Dim xmlRetorno As String = Nothing
Dim sNFeDadosMsg As String = Nothing
Dim xmlDoc As XmlDocument = Nothing
Dim arquivoRetorno As String = Nothing
Try
'vrifica a existência do arquivo
If File.Exists(Me.ArquivoXml) = True Then
Me.labelMsg.Visible = True
Me.labelMsg.Text = Space(40) & "Aguarde um instante por Favor. Enviando o arquivo...."
My.Application.DoEvents()
'Carrega o arquivo xml para dentro do objeto xmlDoc
xmlDoc = New XmlDocument
xmlDoc.Load(Me.ArquivoXml)
'Declara variável (tipo string) com o conteúdo do Lote NF-e
sNFeDadosMsg = xmlDoc.OuterXml()
'Seleciona o certificado digital
If Me.SelecionarCertificado = True Then
Select Case Me.tipoAmbiente
Case "1" ' P R O D U Ç Ã O
'Define o cabeçalho
Dim pnfeCabecMsg As pNfeRecepcao2.nfeCabecMsg
pnfeCabecMsg = New pNfeRecepcao2.nfeCabecMsg
With pnfeCabecMsg
.cUF = "31"
.versaoDados = "2.00"
End With
'Envia o arquivo .xml (Consome o WS)
Dim oWS_pNFeRecepcao As pNfeRecepcao2.NfeRecepcao2 = New pNfeRecepcao2.NfeRecepcao2
With oWS_pNFeRecepcao
.Url = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2.asmx"
.nfeCabecMsgValue = pnfeCabecMsg
.Timeout = 50000
.ClientCertificates.Add(Me.X509Cert)
xmlRetorno = .nfeRecepcaoLote2(xmlDoc.DocumentElement).OuterXml
End With
'obtem o numero do lote enviado
Me.nLote = clsNFeLote2.obtemNumeroDoLote(Me.ArquivoXml)
'Salva o retorno da chamada ao processo em um arquivo xml
arquivoRetorno = Me.PathNFeMsg & "retornoLote-" & Me.nLote.ToString & ".xml"
With xmlDoc
.LoadXml(xmlRetorno)
.Save(arquivoRetorno)
End With
....
return(true)
case "2" 'H O M O L O G A Ç Ã O
...
end select
else
return(false)
end if
Catch ex As Exception
MessageBox.Show("Problemas no envio/retorno do arquivo." & vbNewLine & "Descrição do erro: " & ex.ToString, "Gestor .NET", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Me.labelMsg.Visible = False
Label.Text = "Processo Concluído."
Application.DoEvents()
End Try
end function
I’m in the process of upgrading to version 3.10 (third generation) and I’m not being able to send.
I’m trying to do this (synchronous mode):
Public Function enviaNFe3(ByVal NumeroDoLote As Integer, ByVal ListiView As ListView, ByVal Label As ToolStripStatusLabel) As Boolean
Dim ret As Boolean = False
Dim objRetorno() As object = Nothing
Dim xmlDoc As XmlDocument = Nothing
Dim arquivoRetorno As String = Nothing
Try
'vrifica a existência do arquivo
If File.Exists(Me.ArquivoXml) = True Then
Me.labelMsg.Visible = True
Me.labelMsg.Text = Space(40) & "Aguarde um instante por Favor. Enviando o arquivo...."
My.Application.DoEvents()
'Carrega o arquivo xml para dentro do objeto xmlDoc
xmlDoc = New XmlDocument
xmlDoc.Load(Me.ArquivoXml)
'Seleciona o certificado digital
If Me.SelecionarCertificado = True Then
'Define o cabeçalho
Dim NFeCabecMsg As pNfeAutorizacao3G.nfeCabecMsg = New pNfeAutorizacao3G.nfeCabecMsg
With NFeCabecMsg
.cUF = "31"
.versaoDados = "3.10"
End With
''Dados da NFe
Dim NFeDadosMsg As pNfeAutorizacao3G.nfeDadosMsg = New pNfeAutorizacao3G.nfeDadosMsg
With NFeDadosMsg
'(1)???? Da erro de Referencia de objeto não definida para uma instancia de objeto.
.Any.SetValue(xmlDoc, 0)
End With
'Envia o arquivo .xml (Consome o WS)
Dim oWS_pNFeAutorizacao3 As pNfeAutorizacao3G.NfeAutorizacao = New pNfeAutorizacao3G.NfeAutorizacao
With oWS_pNFeAutorizacao3
.Url = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao.asmx"
.nfeCabecMsgValue = NFeCabecMsg
.Timeout = 50000
.ClientCertificates.Add(Me.X509Cert)
.SoapVersion = Web.Services.Protocols.SoapProtocolVersion.Soap12
'(2)???? Como faço para pegar o retorno?
objRetorno = .nfeAutorizacaoLote(NFeDadosMsg)
End With
'aqui eu faria o tratamento do retorno
return (true)
else
return (false)
end if
end if
Catch ex As Exception
MessageBox.Show("Problemas no envio/retorno do arquivo." & vbNewLine & "Descrição do erro: " & ex.ToString, "Gestor .NET", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
Me.labelMsg.Visible = False
Label.Text = "Processo Concluído."
Application.DoEvents()
End Try
end function
I checked that in other states the requested parameter for the function NfeAutorizacaoLote
is the type system.xml.xmlnode
but for MG the requested parameter is of type nfeDadosMsg
.
I’d be very grateful if someone could help me.
Check this link
 
 http://answall.com/questions/50629/retorno-authorize%C3%A7%C3%A3o-nfe-3-10-mg-c? lq=1
– Teta