Utilizar SIGEP WEB dos Correios

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar SIGEP WEB dos Correios

Mensagem por hs_paulo »

Ola,

Eu utilizo os serviços dos Correios para enviar encomendas.
Estou tentando sem sucesso fazer acesso para emitir as etiquetas automaticamente.

O manual do Correios esta nesta link:

http://www.corporativo.correios.com.br/ ... EP_WEB.pdf

Alguém poderia me ajudar? Não sei nem onde começar. Se fizer a primeira chamada, o resto eu faço.

Obrigado

Paulo
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Esse serviço dos Correios é para consumo de webservice
Vai usar todos os métodos do WS?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Aqui no fórum tem vários exemplos de consumo de WS
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar SIGEP WEB dos Correios

Mensagem por hs_paulo »

Obrigado pelas respostas.

Tenho contrato com os Correios.
Hoje eu uso o SIGEP Web dos Correios, mas esta aumentando muito o numero de encomendas e estou pensando em automatizar, então, eu utilizarei todas as chamadas.

Preciso saber qual a ordem dos comandos que devo usar.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Aconselho baixar o SopUI para montar os xmls de consumo

SoapUI https://www.soapui.org/

Exemplo de consulta de endereço por cep, baseado no manual do SIGEP, um exemplo simples:

Obs.: apesar de a primeira linha da variável cxMLSoap está quebrando a atribuição começa com [ e termina com ]

Código: Selecionar todos

   

   cUrlWS := [https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente]
   
   cxMLSoap := [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cli="http://cliente.bean.master.sigep.bsb.correios.com.br/">]
   cxMLSoap += [<soapenv:Header/>]
   cxMLSoap += [<soapenv:Body>]
   cxMLSoap += [   <cli:consultaCEP>]
   cxMLSoap += [       <!--Optional:-->]
   cxMLSoap += [       <cep>20735050</cep>]
   cxMLSoap += [    </cli:consultaCEP>]
   cxMLSoap += [</soapenv:Body>]
   cxMLSoap += [</soapenv:Envelope>]
   
   With Object oServerWS
       :Open( "POST", cUrlWS, .F. )
       :SetRequestHeader( "Content-Type", 'text/xml; charset="utf-8"' )  
       :SetRequestHeader( "Content-Length", Hb_NtoS( Hb_BLen( cxMLSoap ) ) ) 
       :Send( cxMLSoap )            
       While :readyState != 4
          :WaitForResponse( 500 )
       Enddo
       With Object oXMLDoc
          :async := .F. 
          If :load( oServerWS:responseXML )
             Begin Sequence With __BreakBlock()
                cBairro := :getElementsByTagName( "bairro" ):item(0):Text
                cCep    := :getElementsByTagName( "bairro" ):item(0):Text
                cCidade := :getElementsByTagName( "cidade" ):item(0):Text
                cEnd    := :getElementsByTagName( "end" ):item(0):Text
                cUF     := :getElementsByTagName( "uf" ):item(0):Text
             End
          Else
             Break
          Endif
       End With
    End With  
2019-01-17 15_24_15-.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Os outros métodos precisam passar o usuário e senha para o consumo.
Esse método ConsultaCEP é liberado para qq um
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Correção de cCep

cCep := :getElementsByTagName( "bairro" ):item(0):Text

Para

cCep := :getElementsByTagName( "cep" ):item(0):Text
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

2019-01-17 15_48_09-.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Utilizar SIGEP WEB dos Correios

Mensagem por janio »

Aconselho baixar o SopUI para montar os xmls de consumo
aSimoes,

Minha experiência com webservice ainda eh pouca. O que seria esse SopUI? Um 'testador' de WS? Ele importa os métodos do webservice e da exemplos de como seria o xml? Seria isso?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

asimoes escreveu:aSimoes,

Minha experiência com webservice ainda eh pouca. O que seria esse SopUI? Um 'testador' de WS? Ele importa os métodos do webservice e da exemplos de como seria o xml? Seria isso?

Janio
Sim, essa ferramenta facilita a criação dos xmls e ao mesmo tempo testar o consumo do WS e métodos

Uma vez que o teste no SoapUI funcionou, você vai precisar somente do xml de envio, montar uma string com esse xml e nas tags passar os valores que são sempre strings.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar SIGEP WEB dos Correios

Mensagem por hs_paulo »

Na compilação esta dando erro "undefined reference to `HB_FUN_HB_BLEN'"

Onde encontro esta função?

Ou melhor, como compilar ?
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Eu uso o harbour 3.4, tenta usar len()
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar SIGEP WEB dos Correios

Mensagem por hs_paulo »

o Harbour 3.4 tem para 32 bits?

Baixei e tentei compilar e da mensagem: "HB34\BIN\hbmk2.exe não é compatível com a versão do Windows sendo executada."
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

A versão padrão é 32 bits, funciona também no windows 64 bits, todas as versões.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar SIGEP WEB dos Correios

Mensagem por asimoes »

Você deve ter baixando a versão 64 e está tentando compilar no windows 32 bits, tenta baixar a versão do harbour 32 bits
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder