Jump to content

ugiov

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About ugiov

  1. Bom dia. Estou iniciando o desenvolvimento de um software para controle e emissão de NF-e para a SEFAZ. A princípio, estou começando pelo básico, onde busco consultar se o serviço selecionado está online, ou não. De maneira simplificada: Private Sub VerificaStatus() Dim servicoNFe As ServicosNFe Dim retornoStatus As RetornoNfeStatusServico Dim retornoBasico As retConsStatServ servicoNFe = New ServicosNFe(NFeConfig.CfgServico) retornoStatus = servicoNFe.NfeStatusServico() retornoBasico = retornoStatus.Retorno End Sub Ele gera o XML para consulta, valida, salva uma cópia no computador, e tudo.... Mas quando vou na função NfeStatusServico: Public Function NfeStatusServico() As RetornoNfeStatusServico Dim versaoServico = ServicoNFe.NfeStatusServico.VersaoServicoParaString(_cFgServico.VersaoNfeStatusServico) Dim ws = CriarServico(ServicoNFe.NfeStatusServico) If _cFgServico.VersaoNfeStatusServico <> NFe.Classes.Servicos.Tipos.VersaoServico.ve400 Then ws.nfeCabecMsg = New nfeCabecMsg ws.nfeCabecMsg.cUF = _cFgServico.cUF ws.nfeCabecMsg.versaoDados = versaoServico End If Dim pedStatus = New consStatServ With { .cUF = _cFgServico.cUF, .tpAmb = _cFgServico.tpAmb, .versao = versaoServico } Dim xmlStatus = pedStatus.ObterXmlString() Validador.Valida(ServicoNFe.NfeStatusServico, _cFgServico.VersaoNfeStatusServico, xmlStatus, cfgServico:=_cFgServico) Dim dadosStatus = New XmlDocument() dadosStatus.LoadXml(xmlStatus) SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-ped-sta.xml", xmlStatus) Dim retorno As XmlNode Try retorno = ws.Execute(dadosStatus) '<<< Aqui ocorre um erro! Catch ex As WebException Throw FabricaComunicacaoException.ObterException(ServicoNFe.NfeStatusServico, ex) End Try Dim retornoXmlString = retorno.OuterXml Dim retConsStatServ = New retConsStatServ().CarregarDeXmlString(retornoXmlString) SalvarArquivoXml(DateTime.Now.ParaDataHoraString() & "-sta.xml", retornoXmlString) Return New RetornoNfeStatusServico(pedStatus.ObterXmlString(), retConsStatServ.ObterXmlString(), retornoXmlString, retConsStatServ) End Function A função ws.Execute(dadosStatus) gera um erro: Namespace NFe.Wsdl.Status <WebServiceBinding(Name:="NFeStatusServico4Service", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> Public Class NfeStatusServico4 Inherits SoapHttpClientProtocol Implements INfeServico Public Sub New(ByVal url As String, ByVal certificado As X509Certificate, ByVal timeOut As Integer) SoapVersion = SoapProtocolVersion.Soap12 Me.Url = url Me.Timeout = timeOut ClientCertificates.Add(certificado) End Sub <Obsolete("Não utilizar na nfe 4.0")> Public Property nfeCabecMsg As nfeCabecMsg Private Property INfeServico_nfeCabecMsg As nfeCabecMsg Implements INfeServico.nfeCabecMsg Get Throw New NotImplementedException() End Get Set(value As nfeCabecMsg) Throw New NotImplementedException() End Set End Property <WebMethod(MessageName:="nfeStatusServicoNF"), SoapDocumentMethod("http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Bare)> Private Function Execute(<XmlElement(Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> nfeDadosMsg As XmlNode) As <XmlElement("nfeResultMsg", Namespace:="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4")> XmlNode Implements INfeServico.Execute Dim results = Me.Invoke("nfeStatusServicoNF", New Object() {nfeDadosMsg}) '<<<< Aqui nesta linha ocorre o erro Return CType((results(0)), XmlNode) End Function End Class End Namespace A seguinte mensagem, é então exibida: "O método nfeStatusServicoNF do serviço da Web é inválido". <Imagem Anexo> Esse erro eu não estou conseguindo corrigir. Alguém poderia me ajudar com o mesmo?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.