Ir para conteúdo
ugiov

Problemas para acessar o WebService da SEFAZ

Recommended Posts

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?

1352127.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por laumello12
      Galera ajudinha
      Como faço para consumir um web service pronto em um projeto. Preciso só que ele busque no web service e traga na web 
      HELP
    • Por markhosbh
      Prezados, boa tarde!
       
      Estou tendo dificuldades para transformar um retorno WebService em uma tabela HTML.
      A minha dificuldade está na seguinte condição, se fosse cabeçalho fixo bastava eu utilizar o foreach para percorrer o array e estava ok.
      Porém, a quantidade de campos do array de retorno não é fixo, aí que se encontra minha dificuldade, como fazer para ler e imprimir o cabeçalho e o conteúdo da tabela, sendo que essas informações podem variar.
       
      Exemplo:
       
      Requisição: 
      SELECT A1_COD, A1_NOME, TIPO FROM USUARIO  
      Retorno:
      [ {"A1_COD":"0093","A1_NOME":"JOAO","TIPO":"TITULAR"}, {"A1_COD":"0016","A1_NOME":"ABELARDO","TIPO":"TITULAR"}, {"A1_COD":"8586","A1_NOME":"ADRIANA","TIPO":"TITULAR"} ]  
      Array:
      Array ( [0] => Array ( [A1_COD] => 0093 [A1_NOME] => JOAO [TIPO] => TITULAR ) [1] => Array ( [A1_COD] => 0016 [A1_NOME] => ABELARDO [TIPO] => TITULAR ) [2] => Array ( [A1_COD] => 8586 [A1_NOME] => ADRIANA [TIPO] => TITULAR ) ) Quero que seja impresso em uma tabela html
       
      A1_COD A1_NOME TIPO 0093 JOAO TITULAR 0016 ABELARDO TITULAR 8586 ADRIANA TITULAR  
      Mas como informado o cabeçalho poderia variar, sendo a requisição por exemplo ser:
       
      SELECT * FROM USUARIO  
      Desde então agradeço.
    • Por revendacampi
      Olá, estou desenvolvendo um projeto em PHP onde ao ler o QR code eu consigo pegar as informações tais como CNPJ e Valor, alguem sabe alguma forma que eu consiga fazer isso de onde posso puxar as informações do QR Code ou se o SEFAZ MT tem alguma api que consigo puxar atraves do qr code.
    • Por avelar.avelar
      Boa tarde turma,
       
      Estou com um problema grave aqui, o meu sistema esta gerando boletos e o webservice esta pegando muitos boletos e não esta registrando, da erro e nao, passa, e outros boletos passa normal, ele consegue registrar, já verifiquei cadastro dos clientes e esta tudo normal, todos os campos preenchidos corretamente, alguem poderias me ajudar !!!!
       
       
      Avelar
    • Por RafaelKleimpaul
      Então, estou batendo cabeça com o seguinte desafio: Eu preciso pegar uma NF que está em um web service por sua chave dela e exporta-la no formato XML para uma pasta na máquina. Tenho o seguinte método: getNFe(TOKEN_DE_ACESSO, CHAVE_NFE).
       
      Como posso fazer para pelo token e a chave dessa NF eu conseguir extrai-la e armazena-la?
       
      Obrigado!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.