webservices do governo

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

webservices do governo

Mensagem por JoséQuintas »

Tem coisas que a gente faz por preguiça..... (ou pra evitar erros... é muito endereço)
Eu queria criar a lista de webservices de homologação e produção da fazenda...
Baixei as duas páginas com endereços, e fiz esta rotina (parcial - rotinas já postadas anteriormente):
Obs. A página de produção usa maiúsculas e a de homologação minúsculas, tipo em <TABLE> e <table>.

Código: Selecionar todos

Procedure Main

mUfs := {}
PegaDados("homologa.htm",.f.,2)
PegaDados("oficial.htm",.t.,1)
Return


Function PegaDados(mPagina,mUpper,mAmbiente)

mTexto := MemoRead(mPagina)
mTexto := StrTran(mTexto,Chr(13),"")
mTexto := StrTran(mTexto,Chr(10),"")
Do While At(iif(mUpper,"<TABLE","<table"),mTexto) <> 0
   mBlocoUf := NodeExclui(@mTexto,iif(mUpper,"TABLE","table"))
   mNome := NodeExclui(@mBlocoUf,iif(mUpper,"CAPTION","caption"))
   mNome := Substr(mNome,At("(",mNome)+1)
   mNome := Substr(mNome,1,At(")",mNome)-1)
   mNumUf := 0
   For nCont = 1 To Len(mUfs)
      If mUfs[nCont,1] == mNome
         mNumUf := nCont
         Exit
      Endif
   Next
   If mNumUf == 0
      Aadd(mUfs,{mNome, {{},{}}})
      mNumUf := Len(mUfs)
   Endif   
   Do While iif(mUpper,"<TR","<tr") $ mBlocoUf
      mBlocoWs := NodeExclui(@mBlocoUf,iif(mUpper,"TR","tr"))
      mWsNome := Trim(NodeExclui(@mBlocoWs,iif(mUpper,"TD","td")))
      mWsVersao := Trim(NodeExclui(@mBlocoWs,iif(mUpper,"TD","td")))
      mWsEndereco := Trim(NodeExclui(@mBlocoWs,iif(mUpper,"TD","td")))
      If Len(mWsNome) != 0
         Aadd(mUfs[mNumUf,2,mAmbiente], {mWsnome,mWsVersao,mWsEndereco} )
      Endif
   Enddo   
Enddo
Set Alternate To Lixo.Txt
Set Alternate On
? "<webservices>"
For nCont = 1 To Len(mUfs)
   ? "<"+mUfs[nCont,1]+">"
   For nCont2 = 1 To 2
      ? "   <" + Str(nCont2,1) + ">"
      For nCont3 = 1 To Len(mUfs[nCont,2,nCont2])
         ? "      <" + Lower(mUfs[nCont,2,nCont2,nCont3,1]) + ">" + mUfs[nCont,2,nCont2,nCont3,3] + "</" + Lower(mUfs[nCont,2,nCont2,nCont3,1]) + ">"
      Next
      ? "   </" + Str(nCont2,1) + ">"
   Next   
   ? "</" + mUfs[nCont,1] + ">"
Next   
? "</webservices>"
?
Set Alternate Off
Set Alternate To
Return

Static Function NodeExclui(mTexto,mTag)
Local mNode := ""
mNode := XmlNode(mTexto,mTag,.t.)
mTexto := StrTran(mTexto,mNode,"")
mNode := XmlNode(mNode,mTag)
Return mNode

o resultado foi este, por enquanto... (agora vou alterar pra gerar código e incluir no EXE):

Código: Selecionar todos


<webservices>
<AM>
   <1>
      <nferecepcao>https://nfe.sefaz.am.gov.br/services2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.am.gov.br/services2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homnfe.sefaz.am.gov.br/services2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://homnfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://homnfe.sefaz.am.gov.br/services2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2</nfeconsultacadastro>
      <recepcaoevento>https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento</recepcaoevento>
   </2>
</AM>
<BA>
   <1>
      <nferecepcao>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.ba.gov.br/webservices/sre/RecepcaoEvento.asmx</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx</nfestatusservico>
      <nfeconsultacadastro>https://hnfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx</nfeconsultacadastro>
      <recepcaoevento>https://hnfe.sefaz.ba.gov.br/webservices/sre/RecepcaoEvento.asmx</recepcaoevento>
   </2>
</BA>
<CE>
   <1>
      <nferecepcao>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.ce.gov.br/nfe2/services/RecepcaoEvento</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfeh.sefaz.ce.gov.br/nfe2/services/RecepcaoEvento</recepcaoevento>
   </2>
</CE>
<GO>
   <1>
      <nferecepcao>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcaoEvento?wsdl</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl</nfestatusservico>
      <nfeconsultacadastro>https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl</nfeconsultacadastro>
      <recepcaoevento>https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcaoEvento?wsdl</recepcaoevento>
   </2>
</GO>
<MT>
   <1>
      <nferecepcao>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.mt.gov.br/nfews/CadConsultaCadastro</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl</nfestatusservico>
      <recepcaoevento>https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl</recepcaoevento>
   </2>
</MT>
<MS>
   <1>
      <nferecepcao>https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfe.fazenda.ms.gov.br/producao/services2/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfe.fazenda.ms.gov.br/producao/services2/RecepcaoEvento</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://homologacao.nfe.ms.gov.br/homologacao/services2/CadConsultaCadastro2</nfeconsultacadastro>
      <recepcaoevento>https://homologacao.nfe.ms.gov.br/homologacao/services2/RecepcaoEvento</recepcaoevento>
   </2>
</MS>
<MG>
   <1>
      <nferecepcao>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2</nfestatusservico>
      <nfeconsultacadastro>https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2</nfeconsultacadastro>
      <recepcaoevento>https://hnfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento</recepcaoevento>
   </2>
</MG>
<PR>
   <1>
      <nferecepcao>https://nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2?wsdl</nfestatusservico>
      <nfeconsultacadastro>https://nfe2.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl</nfeconsultacadastro>
      <recepcaoevento>https://nfe2.fazenda.pr.gov.br/nfe-evento/NFeRecepcaoEvento?wsdl</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2?wsdl</nferecepcao>
      <nferetrecepcao>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2?wsdl</nferetrecepcao>
      <nfecancelamento>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2?wsdl</nfecancelamento>
      <nfeinutilizacao>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2?wsdl</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2?wsdl</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2?wsdl</nfestatusservico>
      <nfeconsultacadastro>https://homologacao.nfe2.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl</nfeconsultacadastro>
      <recepcaoevento>https://homologacao.nfe2.fazenda.pr.gov.br/nfe-evento/NFeRecepcaoEvento?wsdl</recepcaoevento>
   </2>
</PR>
<PE>
   <1>
      <nferecepcao>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2</nfestatusservico>
      <nfeconsultacadastro>https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2</nferecepcao>
      <nferetrecepcao>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2</nferetrecepcao>
      <nfecancelamento>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2</nfecancelamento>
      <nfeinutilizacao>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2</nfeconsultaprotocolo>
      <nfestatusservico>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2</nfestatusservico>
      <recepcaoevento>https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento</recepcaoevento>
   </2>
</PE>
<RN>
   <1>
      <nfeconsultacadastro>https://webservice.set.rn.gov.br/projetonfeprod/set_nfe/servicos/CadConsultaCadastroWS.asmx</nfeconsultacadastro>
   </1>
   <2>
      <nfeconsultacadastro>https://webservice.set.rn.gov.br/projetonfehomolog/set_nfe/servicos/CadConsultaCadastroWS.asmx</nfeconsultacadastro>
   </2>
</RN>
<RS>
   <1>
      <nferecepcao>https://nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://nfe.sefaz.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefaz.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefaz.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx</nfestatusservico>
      <nfeconsultacadastro>https://sef.sefaz.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx</nfeconsultacadastro>
      <recepcaoevento>https://nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.nfe.sefaz.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx</nfestatusservico>
      <recepcaoevento>https://homologacao.nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx</recepcaoevento>
   </2>
</RS>
<SP>
   <1>
      <nferecepcao>https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx</nfestatusservico>
      <nfeconsultacadastro>https://nfe.fazenda.sp.gov.br/nfeweb/services/cadconsultacadastro2.asmx</nfeconsultacadastro>
      <recepcaoevento>https://nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeStatusServico2.asmx</nfestatusservico>
      <nfeconsultacadastro>https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/CadConsultaCadastro2.asmx</nfeconsultacadastro>
      <recepcaoevento>https://homologacao.nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx</recepcaoevento>
   </2>
</SP>
<SVAN>
   <1>
      <nferecepcao>https://www.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://www.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://www.sefazvirtual.fazenda.gov.br/NfeCancelamento2/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://www.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://www.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx</nfestatusservico>
      <recepcaoevento>https://www.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://hom.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://hom.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://hom.sefazvirtual.fazenda.gov.br/NfeCancelamento2/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://hom.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://hom.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://hom.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx</nfestatusservico>
      <recepcaoevento>https://hom.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx</recepcaoevento>
      <nfedownloadnf>https://hom.nfe.fazenda.gov.br/nfedownloadnf/nfedownloadnf.asmx</nfedownloadnf>
   </2>
</SVAN>
<SVRS>
   <1>
      <nferecepcao>https://nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx</nfestatusservico>
      <recepcaoevento>https://nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx</recepcaoevento>
   </1>
   <2>
      <nferecepcao>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx</nfestatusservico>
      <recepcaoevento>https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx</recepcaoevento>
   </2>
</SVRS>
<SCAN>
   <1>
      <nferecepcao>https://www.scan.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://www.scan.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://www.scan.fazenda.gov.br/NfeCancelamento2/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://www.scan.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://www.scan.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://www.scan.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx</nfestatusservico>
   </1>
   <2>
      <nferecepcao>https://hom.nfe.fazenda.gov.br/SCAN/NfeRecepcao2/NfeRecepcao2.asmx</nferecepcao>
      <nferetrecepcao>https://hom.nfe.fazenda.gov.br/SCAN/NfeRetRecepcao2/NfeRetRecepcao2.asmx</nferetrecepcao>
      <nfecancelamento>https://hom.nfe.fazenda.gov.br/SCAN/NfeCancelamento2/NfeCancelamento2.asmx</nfecancelamento>
      <nfeinutilizacao>https://hom.nfe.fazenda.gov.br/SCAN/NfeInutilizacao2/NfeInutilizacao2.asmx</nfeinutilizacao>
      <nfeconsultaprotocolo>https://hom.nfe.fazenda.gov.br/SCAN/NfeConsulta2/NfeConsulta2.asmx</nfeconsultaprotocolo>
      <nfestatusservico>https://hom.nfe.fazenda.gov.br/SCAN/NfeStatusServico2/NfeStatusServico2.asmx</nfestatusservico>
   </2>
</SCAN>
<AN>
   <1>
   </1>
   <2>
      <recepcaoevento>https://hom.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx</recepcaoevento>
      <nfeconsultadest>https://hom.nfe.fazenda.gov.br/NFeConsultaDest/NFeConsultaDest.asmx</nfeconsultadest>
   </2>
</AN>
</webservices>

Por esse conjunto, só usar as funções de XML pra extrair o que vai ser usado.

Código: Selecionar todos

cBlocoUf := XmlNode(Texto,"SP")
cBlocoAmbiente := XmlNode(cBlocoUf,"1") // producao
cBlocoServico := XmlNode(cBlocoAmbiente,"recepcaoevento")
If Empty(cBlocoServico)
   MsgExclamation("URL nao possui serviço selecionado")
Endif
O texto do XML pode ficar dentro do EXE ou em arquivo de configuração, tanto faz, bastaria um MemoRead().
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

webservices do governo

Mensagem por NiltonGM »

Olá José,

Muito boa sua rotina, você sabe se a SF disponibiliza um webservice que informa os dados (conteúdo) de uma NF-e através da chave de acesso?
Seria algo como enviar um xml assinado com a chave da NF-e e obtermos algumas informações como descrição, peso, volume, valor, valor total.
Tenho um sistema de CT-e e para cada CT-e é anexado várias chaves de NF-e de seus clientes. A chave eles digitam com leitor de código de barra, mas as outras informações ele tem que digitar na 'unha'.
Seria ótimo se meu sistema após lesse o código de barras da NF-e ele trouxesse essas informações automáticas.

Abraços.
Nilton Medeiros
nilton@sistrom.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

webservices do governo

Mensagem por JoséQuintas »

Lembro de ter visto no começo do projeto alguma coisa sobre um certificado para o servidor da transportadoras fazer algo assim.
Mas isso foi em 2008.
Não sei se o ambiente de distribuição pode ser usado pra isso, aquele novo DFe.

Teoricamente você deveria ter os XMLs, porque eles tem que ser enviados à transportadora.

No meu caso, armazeno os XMLs em servidor MySql.
E uso minha rotina que pega dados de XML.
Desta forma, o usuário não digita nem a chave de acesso, apenas o emitente e o número da nota fiscal.
E os dados vém dos XMLs armazenados.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

webservices do governo

Mensagem por NiltonGM »

José,

Cheguei a pensar nisso, tenho que criar essa cultura nos meus clientes de armazenarem os XMLs, hoje na prática eles não fazem isso.
Desta forma, o usuário não digita nem a chave de acesso, apenas o emitente e o número da nota fiscal.
O usuário digita a Razão Social ou o CNPJ do emitente para fazer a busca no xml?
Eu acho que tenho essa rotina sua de extrair dados de XML, vou ver.

Abraços.
Nilton Medeiros
nilton@sistrom.com.br
Responder