Página 1 de 3

Utilizar SIGEP WEB dos Correios

Enviado: 16 Jan 2019 21:14
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

Utilizar SIGEP WEB dos Correios

Enviado: 16 Jan 2019 22:12
por asimoes
Esse serviço dos Correios é para consumo de webservice
Vai usar todos os métodos do WS?

Utilizar SIGEP WEB dos Correios

Enviado: 16 Jan 2019 22:14
por asimoes
Aqui no fórum tem vários exemplos de consumo de WS

Utilizar SIGEP WEB dos Correios

Enviado: 17 Jan 2019 09:02
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.

Utilizar SIGEP WEB dos Correios

Enviado: 17 Jan 2019 15:27
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

Utilizar SIGEP WEB dos Correios

Enviado: 17 Jan 2019 15:31
por asimoes
Os outros métodos precisam passar o usuário e senha para o consumo.
Esse método ConsultaCEP é liberado para qq um

Utilizar SIGEP WEB dos Correios

Enviado: 17 Jan 2019 15:37
por asimoes
Correção de cCep

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

Para

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

Utilizar SIGEP WEB dos Correios

Enviado: 17 Jan 2019 15:49
por asimoes
2019-01-17 15_48_09-.png

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 09:10
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

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 12:08
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.

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 13:16
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 ?

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 14:07
por asimoes
Eu uso o harbour 3.4, tenta usar len()

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 16:51
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."

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 18:25
por asimoes
A versão padrão é 32 bits, funciona também no windows 64 bits, todas as versões.

Utilizar SIGEP WEB dos Correios

Enviado: 18 Jan 2019 18:27
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