Stanis!
Parece qu seu link de download está quebrado ou desativado.
Você pode colocar esse exemplo em outro lugar?
Consumir WebService Serasa
Moderador: Moderadores
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Re: Consumir WebService Serasa
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Re: Consumir WebService Serasa
O link postado pelo Stanis está funcionando. Mas o ZIP contém apenas um EXE. Nenhum fonte.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: Consumir WebService Serasa
Olá,
Eu digitei no google "upload de arquivos" e o site que veio eu enviei...
Não tem mesmo o fonte no ZIP, mas vou ver se consigo dar uma ajeitada nele e colocar para download, ou postar aqui mesmo. O código está extremamente mal feito porque eu estava testando várias coisas ao mesmo tempo, copiando e colando códigos dos exemplos que vem com o Harbour.
Se o problema for com o webservice, vou dar um exemplo aqui de como foi feito :
Resumidamente, a grande maioria dos webservices trabalham também recebendo os dados via GET, bastando saber os parametros corretos para passar, como no exemplo, cSuaVar. Acessem este site, alterando a palavra cCep abaixo para um CEP conhecido:
"http://cep.republicavirtual.com.br/web_ ... ormato=xml"
Para os webservices que não trabalham com GET, mas somente com POST, se faz necessário usar outras funções da hbtip.
Não há nenhum exemplo pronto para isso, e no programa de CEP eu usei exatamente como exemplificado acima, no entanto uma leitura rápida na classe que acompanha a lib, permite realizar o envio de dados via POST sem maiores dificuldades. A classe se encontra no arquivo "/contrib/hbtip/httpcli.prg". O método a ser utilizado é o próprio Post.
Abraços.
Eu digitei no google "upload de arquivos" e o site que veio eu enviei...
Não tem mesmo o fonte no ZIP, mas vou ver se consigo dar uma ajeitada nele e colocar para download, ou postar aqui mesmo. O código está extremamente mal feito porque eu estava testando várias coisas ao mesmo tempo, copiando e colando códigos dos exemplos que vem com o Harbour.
Se o problema for com o webservice, vou dar um exemplo aqui de como foi feito :
Código: Selecionar todos
oHttp:= TIpClientHttp():new( "http://nomedosite.php?par="+cSuaVar )
IF ! oHttp:open()
Alert( "Erro na conexão: "+ oHttp:lastErrorMessage() )
ENDIF
cResposta := oHttp:readAll() //aqui a var ja recebe todo o conteúdo retornado pelo site, seja HTML, XML, JSON ou o que for
oHttp:close()"http://cep.republicavirtual.com.br/web_ ... ormato=xml"
Para os webservices que não trabalham com GET, mas somente com POST, se faz necessário usar outras funções da hbtip.
Não há nenhum exemplo pronto para isso, e no programa de CEP eu usei exatamente como exemplificado acima, no entanto uma leitura rápida na classe que acompanha a lib, permite realizar o envio de dados via POST sem maiores dificuldades. A classe se encontra no arquivo "/contrib/hbtip/httpcli.prg". O método a ser utilizado é o próprio Post.
Abraços.
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: Consumir WebService Serasa
Voltei,
Se alguém tiver interesse em testar como se passa os parâmetros do XML via GET ou POST ao invés de enviar o XML, pode usar este site que contém vários serviços de teste:
http://www.xmethods.com/ve2/index.po;js ... mR4klr8sPB
Fiz uns testes essa semana quando fiz este programinha do CEP e funfou legal...
Se alguém tiver interesse em testar como se passa os parâmetros do XML via GET ou POST ao invés de enviar o XML, pode usar este site que contém vários serviços de teste:
http://www.xmethods.com/ve2/index.po;js ... mR4klr8sPB
Fiz uns testes essa semana quando fiz este programinha do CEP e funfou legal...
Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
-
Stanis Luksys
- Colaborador

- Mensagens: 1329
- Registrado em: 18 Jun 2005 03:04
- Localização: São Paulo
- Contato:
Re: Consumir WebService Serasa
Então,
Mais tarde posso tentar bolar algo a respeito, mas a idéia básica é a seguinte:
Imagine este webservice que contêm dados sobre a copa do mundo: http://footballpool.dataaccess.eu/data/info.wso
Agora para executar alguma das operações listadas, basta proceder como no exemplo do CEP. Veja como é simples pegar o "TOP 10" artilheiros da Copa:
Note o último 10 no endereço, se você quiser pegar o TOP 50, altere para 50...
Usando a hbtip:
Veja o retorno como chega: (neste ponto pode-se usar as funções para JSON - viewtopic.php?f=4&t=11317)
Apenas lembrando que o "padrão" seria enviar algo parecido com isso, mas é justamente o que eu quis evitar:
Bom, espero ter esclarecido em alguma coisa...
Mais tarde posso tentar bolar algo a respeito, mas a idéia básica é a seguinte:
Imagine este webservice que contêm dados sobre a copa do mundo: http://footballpool.dataaccess.eu/data/info.wso
Agora para executar alguma das operações listadas, basta proceder como no exemplo do CEP. Veja como é simples pegar o "TOP 10" artilheiros da Copa:
Note o último 10 no endereço, se você quiser pegar o TOP 50, altere para 50...
Usando a hbtip:
Código: Selecionar todos
PROCEDURE MAIN()
cls
oHttp:= TIpClientHttp():new( "http://footballpool.dataaccess.eu/data/info.wso/TopGoalScorers/JSON?iTopN=10" )
IF ! oHttp:open()
? "Erro:", oHttp:lastErrorMessage()
QUIT
ENDIF
cResposta := oHttp:readAll()
oHttp:close()
? cResposta
RETURNCódigo: Selecionar todos
[
{
"sName": "David Villa",
"iGoals": 5,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/es.gif"
},
{
"sName": "Diego Forlán",
"iGoals": 5,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/uy.gif"
},
{
"sName": "Thomas Müller",
"iGoals": 5,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/de.gif"
},
{
"sName": "Wesley Sneijder",
"iGoals": 5,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/nl.gif"
},
{
"sName": "Gonzalo Higuaín",
"iGoals": 4,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/ar.gif"
},
{
"sName": "Miroslav Klose",
"iGoals": 4,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/de.gif"
},
{
"sName": "Róbert Vittek",
"iGoals": 4,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/sk.gif"
},
{
"sName": "Asamoah Gyan",
"iGoals": 3,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/gh.gif"
},
{
"sName": "Chung-Yong Lee",
"iGoals": 3,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/kr.gif"
},
{
"sName": "Landon Donovan",
"iGoals": 3,
"sCountry": "Y",
"sFlag": "http://footballpool.dataaccess.eu/images/flags/us.gif"
}
]
Apenas lembrando que o "padrão" seria enviar algo parecido com isso, mas é justamente o que eu quis evitar:
Código: Selecionar todos
POST /data/info.wso HTTP/1.1
Host: footballpool.dataaccess.eu
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TopGoalScorers xmlns="http://footballpool.dataaccess.eu">
<iTopN>int</iTopN>
</TopGoalScorers>
</soap:Body>
</soap:Envelope>Stanis Luksys
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
sites.google.com/hblibs
Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
