Jump to content
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By juliosertori
      Fala galera tudo bem? Me da uma força, eu não sou especializado mas gosto de brincar as vezes com PHP etc, e faço uns sistemas pra meu uso mesmo.
       
      E estou precisando integrar a emissão de NFE utilizando a REST API da WEBMANIABR: https://webmaniabr.com/docs/rest-api-nfe/#emitir-nfe
       
      Só que tem um porém, eu trabalho apenas com PHP estruturado, eu já tenho os dados necessários no pedido, cliente, produtos etc para emitir a nota, mas eu não tenho a mínima ideia de como fazer um script para receber o POST com os dados, tratar na API e me retornar os dados, não sei nem onde pesquisar (além daqui rsrs) para iniciar isso.
       
      Podem me dar uma luz por favor?
       
      Muito obrigado!
    • By JOSELUISALD
      Bom dia. Estou tentando consultar os serviços da Sefaz RS e não estou conseguindo. Sempre da rejeição. Sou novo nos webservices, e quero aprender o que for preciso para montar meu próprio emissor do zero.

             Código:
      $local_cert = 'Certificado.pem';         $passwd = '1234';         $ws = 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl';           $endpoint = 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx';                                 $options = array         (             'location' => $endpoint,             'keep_alive' => true,             'trace' => true,             'local_cert' => $local_cert,             'passphrase' => $passwd,             'cache_wsdl' => WSDL_CACHE_NONE,             'soap_version' => SOAP_1_2         );             $client = new SoapClient($ws, $options);         $function = 'nfeStatusServicoNF';         $options = [];         $arguments['consStatServ'] = '';         $arguments['nfeDadosMsg'] = array('xServ' => 'STATUS', 'cUF' => '43', 'tpAmb' => '2', 'versao' => 'RS201805211008');         $result = $client->__soapCall($function, $arguments, $options);         $functions = $client->__getFunctions();         header("Content-type: text/xml");         echo $result->any; Erro:
      <retConsStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <tpAmb>2</tpAmb> <verAplic>RS201805211008</verAplic> <cStat>225</cStat> <xMotivo>Rejeicao: Falha no Schema XML do lote de NFe</xMotivo> <cUF/> <dhRecbto>2019-11-29T10:18:08-03:00</dhRecbto> </retConsStatServ>  Tentei assim também:
       
      $local_cert = 'Certificado.pem'; $passwd = '1234'; $ws = 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx?wsdl'; $endpoint = 'https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx'; $options = array ( 'location' => $endpoint, 'keep_alive' => true, 'trace' => true, 'local_cert' => $local_cert, 'passphrase' => $passwd, 'cache_wsdl' => WSDL_CACHE_NONE, 'soap_version' => SOAP_1_2 ); $client = new SoapClient($ws, $options); $function = 'nfeStatusServicoNF'; $nfeDadosMsg = '<consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"> <xServ>STATUS</xServ> <cUF>43</cUF> <tpAmb>2</tpAmb> </consStatServ>'; $nfeCabecMsg = '<versao>4.0</versao>'; $options = []; $arguments['nfeDadosMsg'] = $nfeDadosMsg; $arguments['nfeCabecMsg'] = $nfeCabecMsg; $result = $client->__soapCall($function, $arguments, $options); $functions = $client->__getFunctions(); header("Content-type: text/xml"); echo $result->any;  
    • By Aprendiz CSS
      Oi Pessoal
      Estou com problema para emitir a Nota Fiscal pela prefeitura de BH.
       
          <?xml version="1.0" encoding="UTF-8"?>     <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.bhiss.pbh.gov.br">         <soapenv:Header/>         <soapenv:Body>             <ws:RecepcionarLoteRpsRequest>                 <nfseCabecMsg><![CDATA[<?xml version="1.0" encoding="UTF-8"?><cabecalho xmlns="http://www.abrasf.org.br/nfse.xsd" versao="1.00"><versaoDados>1.00</versaoDados></cabecalho>]]></nfseCabecMsg>                 <nfseDadosMsg><![CDATA[<?xml version="1.0" encoding="UTF-8"?>     <EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">        <LoteRps Id="lote" versao="1.00">           <NumeroLote>123456</NumeroLote>           <Cnpj>13780714000101</Cnpj>           <InscricaoMunicipal>62215043</InscricaoMunicipal>           <QuantidadeRps>1</QuantidadeRps>           <ListaRps>              <Rps>                 <InfRps Id="rps:123456">                    <IdentificacaoRps>                       <Numero>123456</Numero>                       <Serie>AAA</Serie>                       <Tipo>1</Tipo>                    </IdentificacaoRps>                    <DataEmissao>2019-10-07T18:43:22</DataEmissao>                    <NaturezaOperacao>1</NaturezaOperacao>                    <RegimeEspecialTributacao>1</RegimeEspecialTributacao>                    <OptanteSimplesNacional>2</OptanteSimplesNacional>                    <IncentivadorCultural>2</IncentivadorCultural>                    <Status>1</Status>                    <Servico>                       <Valores>                          <ValorServicos>999.99</ValorServicos>                          <ValorDeducoes>999.99</ValorDeducoes>                          <ValorPis>999.99</ValorPis>                          <ValorCofins>999.99</ValorCofins>                          <ValorInss>999.99</ValorInss>                          <ValorIr>999.99</ValorIr>                          <ValorCsll>999.99</ValorCsll>                          <IssRetido>1</IssRetido>                          <ValorIss>1</ValorIss>                          <OutrasRetencoes>999.99</OutrasRetencoes>                          <Aliquota>2</Aliquota>                          <DescontoIncondicionado>999.99</DescontoIncondicionado>                          <DescontoCondicionado>999.99</DescontoCondicionado>                       </Valores>                       <ItemListaServico>123</ItemListaServico>                       <CodigoTributacaoMunicipio>123</CodigoTributacaoMunicipio>                       <Discriminacao>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt risus sem, ut cursus dui lobortis ac. Sed dui justo, volutpat eget tellus in, hendrerit porta ante.</Discriminacao>                       <CodigoMunicipio>1234</CodigoMunicipio>                    </Servico>                    <Prestador>                       <Cnpj>13780714000101</Cnpj>                       <InscricaoMunicipal>62215043</InscricaoMunicipal>                    </Prestador>                    <Tomador>                       <IdentificacaoTomador>                          <CpfCnpj>                             <Cnpj>99999999999999</Cnpj>                          </CpfCnpj>                          <InscricaoMunicipal>999999999</InscricaoMunicipal>                       </IdentificacaoTomador>                       <RazaoSocial>LOREM IPSUM DOLOR SIT AMET</RazaoSocial>                       <Endereco>                          <Endereco>Lorem Ipsum Dolor</Endereco>                          <Numero>123A</Numero>                          <Complemento>Sit Amet</Complemento>                          <Bairro>Lorem</Bairro>                          <CodigoMunicipio>12345</CodigoMunicipio>                          <Uf>AA</Uf>                          <Cep>99999999</Cep>                       </Endereco>                    </Tomador>                 </InfRps>                 <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="OSPiMahNvF4qCal8dNPygY4udss=">                 </Signature>              </Rps>           </ListaRps>        </LoteRps>        <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="cTU9TPYqQVroolMt7wYlbCz/EuY=">        </Signature>     </EnviarLoteRpsEnvio>]]></nfseDadosMsg>             </ws:RecepcionarLoteRpsRequest>         </soapenv:Body>     </soapenv:Envelope>  
      O retorno que estou recebendo da prefeitura de BH é
       
       
       
          <?xml version='1.0' encoding='UTF-8'?> <EnviarLoteRpsResposta xmlns="http://www.abrasf.org.br/nfse.xsd"> <ListaMensagemRetorno> <MensagemRetorno><Codigo>E191</Codigo> <Mensagem>Requisição inválida. Não conseguiu capturar o parâmetro nfseCabecMsg e/ou nfseDadosMsg.</Mensagem></MensagemRetorno></ListaMensagemRetorno> </EnviarLoteRpsResposta>  
      Alguém já teve esse problema? Poderia me ajudar em algo?
       
      Abs
    • By nightreturn
      Sou novo no fórum e tenho umas duvidas sobre NOT,AS FISCAIS E PHP.
      Gostaria de saber como eu faço em PHP para pegar os produtos cadastrados em uma nota fical pelo código-id da nota?
      Aquele mesmo código que se usa para acessar todo o conteúdo da nota.
       
      Qual o meu objetivo? Pegar todos os produtos de uma nota fiscal eletronica para consumidor final (aquela mesma nota que recebemos após comprar no mercado, na padaria, um lanche, na kalumga, etc...) e listar todos.
      Qual seria o caminho para isso?
    • By jotapems
      Bom dia,
      estou tentando criar uma integração a um webservice utilizando o seguinte link do serviço:
      https://wwwh.cnj.jus.br/pjemni-2x/intercomunicacao?wsdl
       
      Para tanto, fiz o seguinte código-teste:
       
      <?php $client = new SoapClient("https://wwwh.cnj.jus.br/pjemni-2x/intercomunicacao?wsdl"); $function = "consultarProcesso"; $arguments = array ( "idConsultante" => "xxx", "senhaConsultante" => "xxx", "numeroProcesso" => "50243604120198130702", "movimentos" => true ); $result = $client->__soapCall($function, $arguments); print $result; ?>  
      Contudo, ao executar o código, recebo o seguinte erro:
      Fatal error: Uncaught SoapFault exception: [soap:Client] Message part param1 was not recognized. (Does it exist in service WSDL?) in C:\xampp\htdocs\wstest\test.php:13 Stack trace: #0 C:\xampp\htdocs\wstest\test.php(13): SoapClient->__soapCall('consultarProces...', Array) #1 {main} thrown in C:\xampp\htdocs\wstest\test.php on line 13  
      Se alguém puder me ajudar, agradeço muito!!
×

Important Information

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