Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

  • Conteúdo Similar

    • Por leoneDuarte
      Olá!
       
      Atualmente me encontro desenvolvendo uma integração com sistema de notas fiscais eletronicas de BH, no entato o erro em questão está me impedindo de prosseguir, se alguem também estiver passando por algo do tipo, gostaria de saber se encontrou alguma solução:
       
      SERVIÇO: RecepcionarLoteRps
       
      CABEÇALHO:
      <?xml version="1.0" encoding="UTF-8"?><cabecalho xmlns="http://www.abrasf.org.br/nfse.xsd" versao="1.00"><versaoDados>1.00</versaoDados></cabecalho>  
      ERRO:"
      <?xml version='1.0' encoding='UTF-8'?><EnviarLoteRpsResposta xmlns="http://www.abrasf.org.br/nfse.xsd"><ListaMensagemRetorno><MensagemRetorno><Codigo>E174</Codigo><Mensagem>Arquivo enviado com erro na assinatura.</Mensagem></MensagemRetorno></ListaMensagemRetorno></EnviarLoteRpsResposta>  
       
       
      Conforme verificado no mesmo se trata de um erro na assinatura do documento, no entanto ao testarmos esse xml no site https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/assinadoc/ValidadorAssinaturas.app/valida.aspx , e removermos o name space xmlns="http://www.abrasf.org.br/nfse.xsd" a assinatura do mesmo  é aprovado com sucesso. Porem se enviarmos o xml sem o xmlns="http://www.abrasf.org.br/nfse.xsd" o sistema de BH informa que é um elemento obrigatorio, conforme esta descrito na documentação onde o mesmo é marcado como obrigatório.Devido a isso me encontro em dúvida em relação a assiantura e o modelo aceito pelo sistema de BH, e não pude esclarecer as mesmas com as informações disponíveis no site.
       
       
      Das opções atualmente disponíveis no google, ja tentei uma variedade de alterações no entanto sem sucesso, a validade da assinatura é atestada pela receita federal.Em relação a erros de estrutura, os erros davam antes desse e foram corrigidos, fazendo com que eu deduzisse que a estrutura do arquivo esta correta no entanto somente a assinatura não.
       
       
      Grato pela ateção!
       
    • Por fernandoxwiggy
      Bom dia,
      Alguém já teve que desenvolver o CIOT da empresa E-frete em C#?
       
      Estou buscando exemplos de como fazer usando o web service deles (http://dev.efrete.com.br/Services/LogonService.asmx).
      Eu acredito que preciso chamar o "login" (depois o logout) dentro desse web service, mas ele é uma interface e não estou achando um exemplo de chamar um procedimento em um web service que seja um interface.
       
      Agradeço desde já se alguém puder ajudar.
    • Por vmmh
      Alguma alma caridosa que me possa ajudar ?
      há dias que ando com este problema e não consigo resolver. Ficaria eternamente grato se alguém pudesse ajudar
       
      o codigo abaixo em localhost funciona na perfeição , mas em produção , no lado do servidor , nada... HTTP error 500.
      o pedido que estou a fazer está noutro dominio com porta 81 e no meu dominio uso certificado de segurança. Será por aí?
      de qualquer forma o wsdl está   aqui:
       
       
      $client = new SoapClient('https://dekrainspecoes.pt/acp/PROD_CustomUI_ACP_Member_Validation_WS.WSDL');
      $result = $client->QueryByNumCartao(array('N_Cartao' => "705684011673122085"));
      if (!empty($result->QueryByNumCartao_Output->Cartao_Ativo)) {
       
          echo 'The userId : '.$result->QueryByNumCartao_Output ->Pessoa_ID;
      }
       
      $JSON = json_encode($result);
    • Por 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;  
    • Por 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
×

Informação importante

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