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

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
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