Sunteți pe pagina 1din 5

13/04/2016 Configurações do webservice do banco central – Cotações diversas | Tiago Crizanto

Tiago Crizanto (http://blog.tiagocrizanto.com/)
Desenvolvimento web e Arquitetura de Sistemas

Configurações do webservice do banco central – Cotações
diversas
Publicado em 16 de março de 2015 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/), atualizado em16 de março de
2015 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/) por tiagocrizanto
(http://blog.tiagocrizanto.com/author/tiagocrizanto/)
Olá pessoal!

Outro dia precisei criar um serviço para atualizar a cotação do dólar diariamente. Para quem não sabe o banco central disponibiliza um webservice com diversas
cotações como: dólar, euro, ouro etc. 
O webservice é bem simples. Ele possui vários métodos conforme listado abaixo:

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/servicos_bc.png)

Segue abaixo a descrição de cada método:

getUltimoValorVO – Recupera o último valor de uma determinada série e retorna um objeto do tipo WSSerieVO.

Parâmetros:
long codigoSerie – Código da série.
Retorno:
WSSerieVO – Objeto série.

GetUltimoValorXML – Recupera o último valor de uma determinada série e retorna o resultado em formato XML.

Parâmetros:
long codigoSerie – Código da série.
Retorno:
String – String contendo o resultado da consulta em formato XML.

getValor – Recupera o valor de uma série em uma determinada data (dd/MM/aaaa).

Parâmetros:
long codigoSerie – Código da série.
String data – String contendo a data (dd/MM/aaaa) do valor a ser pesquisado.
Retorno:
BigDecimal – Objeto contendo o valor.

getValorEspecial – Recupera o valor de uma série especial em um período. 
Parâmetros:
long codigoSerie – Código da série.
String data – String contendo a data (dd/MM/aaaa) inicial.
String dataFim – String contendo a data (dd/MM/aaaa) final.
Retorno:
BigDecimal – Objeto contendo o valor.

getValoresSeriesXML – Recupera os valores de uma ou mais séries dentro de um determinado período.O resultado da consulta é devolvido ao cliente em formato
XML.

Parâmetros:
long[] codigosSeries – Lista(array) dos códigos das séries.
String dataInicio – String contendo a data (dd/MM/aaaa) inicial.
String dataFim – String contendo a data (dd/MM/aaaa) final.
Retorno:
String – String contendo o resultado da consulta em formato XML.

getValoresSeriesVO – Recupera os valores de uma ou mais séries dentro de um determinado período e retorna o resultado em forma de Array de objetos do tipo
WSSerieVO.

Parâmetros:
long[] codigosSeries – Lista(array) dos códigos das séries.
String dataInicio – String contendo a data (dd/MM/aaaa) inicial.
String dataFim – String contendo a data (dd/MM/aaaa) final.
Retorno:
WSSerieVO – Lista(array) de objeto série.

O endereço do webservice é: https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl
(https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl) 
O problema que tive com esse serviço foi em conseguir a cotação de venda do dólar, pois, o código 1 é o preço de compra. Fiz muita pesquisa na net e não achei
uma tabela de referência do códigos.
Consegui entrar em contato com o banco central e eles me passaram a lista de todos os códigos que são utilizados neste serviço. Segue a lista abaixo:

CÓDIGO NOME

1 Dólar (venda)

10813 Dólar (compra)

21619 Euro (venda)

21620 Euro (compra)

21621 Iene (venda)

21622 Iene (compra)

21623 Libra esterlina (venda)

21624 Libra esterlina (compra)

21625 Franco Suíço (venda)

21626 Franco Suíço (compra)

21627 Coroa Dinamarquesa (venda)

21628 Coroa Dinamarquesa (compra)

21629 Coroa Norueguesa (venda)

21630 Coroa Norueguesa (compra)

21631 Coroa Sueca (venda)

21632 Coroa Sueca (compra)

21633 Dólar Australiano (venda)

21634 Dólar Australiano (compra)

21635 Dólar Canadense (venda)

21636 Dólar Canadense (compra)

Também no site do Banco Central (www.bcb.gov.br (http://www.bcb.gov.br/) – menu Câmbio de capitais estrangeiros – Taxas de câmbio), na opção “Cotações e
Boletins”, podem ser consultadas as cotações diárias de outras moedas, para compra e venda. Nesse mesmo endereço, na opção “Todas as moedas”, pode­se
acessar o arquivo CSV, contendo as cotações de fechamento dos últimos 7 dias de todas as moedas. Esse arquivo também pode ser acessado diretamente pela
seguinte URL: http://www4.bcb.gov.br/Download/fechamento/[AAAAMMDD].csv (http://www4.bcb.gov.br/Download/fechamento/%5bAAAMMDD%5d.csv), onde o
padrão AAAAMMDD deve ser substituído pelo ano, mês e dia da cotação desejada.

Um dos mecanismos utilizados para automatizar o acesso a esse arquivo é a utilização do aplicativo WGET, disponível para Windows em
http://gnuwin32.sourceforge.net/packages/wget.htm (http://gnuwin32.sourceforge.net/packages/wget.htm)  e também disponível para plataforma Linux ou Unix.

Exemplo de linha de comando para Windows:

# wget http://www4.bcb.gov.br/Download/fechamento/[AAAAMMDD].csv (http://www4.bcb.gov.br/Download/fechamento/%5bAAAMMDD%5d.csv)

 Exemplo de comandos Unix:
——
$ D= date ‐d "1 day ago" +%Y%m%d  
$ D=”http://www4.bcb.gov.br/Download/fechamento/ (http://www4.bcb.gov.br/Download/fechamento/)“$D”.csv” # [AAAAMMDD].csv 
$ wget $D
—­

Cabe ressaltar, no entanto, que o Banco Central do Brasil não se compromete em manter inalteradas as estruturas do site nem dos arquivos nele contidos.
Eventuais alterações podem impactar soluções de automação construídas com base na sua estrutura atual.

Consumindo o serviço

No meu caso, criei um Job do SSIS (SQL Server Integration Services) que consome esse webservice e em seguida executa uma task que atualiza a tabela. O
processo é muito parecido com uma aplicação web comum.

1 – Adicione uma script task e uma execute sql task presentes no SSIS Toolbox 

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/packages.png)

2 – Clique com o botão direito em seu projeto e vá em Add Service Reference…

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/service_reference.png)

3 – Adicionei uma como uma referencia a um webservice comum. Então na janela que se abriu clique em Advanced conforme mostrado abaixo:

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/webservice_refence.png)

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/service_reference1.png)

http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/ 1/5
13/04/2016 Configurações do webservice do banco central – Cotações diversas | Tiago Crizanto

4 – Coloque o endereço do webservice, clique na seta para ir ao endereço e clique em Add Reference. Provavelmente você irá receber um aviso de segurança de
SSL. Clique em sim e na mensagem de bloqueio que aparece logo abaixo da caixa onde você coloca o endereço do serviço clique em permitir conteúdo bloqueado.
Após esse processo você terá o resultado abaixo:

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/service_reference2.png)

5 – Em seguida utilize o código abaixo para buscar os dados do serviço. Utilizei o método getUltimoValorVO porque este método pega a ultima cotação cadastrada
pelo BC.

1 public void Main()


2 {
3    //Referencia ao serviço do banco central https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl
4    var cotacaoService = new CotacoesService.FachadaWSSGSService();
5    Dts.Variables["Cotacao"].Value = cotacaoService.getUltimoValorVO(10813).ultimoValor.svalor;
6    Dts.TaskResult = (int)ScriptResults.Success;
7 }

Na 6ª linha você pode observar o trecho “Dts.Variables[“Cotacao”]”. Essa é uma variável que criei do tipo string. Essa variável foi criada na aba “Variables” conforme
abaixo:

 (http://blog.tiagocrizanto.com/wp­content/uploads/2015/03/variables.png)

Na SQL Task eu utilizei o seguinte código:

1 DECLARE @lastDate AS VARCHAR(8)


2 SET @lastDate = (SELECT TOP 1 CONVERT(CHAR, CAST(data_cotacao AS DATETIME), 112) FROM dbo.Table WHERE CONVERT(CHAR, CAST(data_cotacao AS DATETIME
3 IF CONVERT(CHAR, CAST(GETDATE() AS DATETIME), 112) = @lastDate
4 BEGIN
5 UPDATE dbo.TABLE SET cotacao = (?) WHERE CONVERT(CHAR, CAST(data_cotacao AS DATETIME), 112) = @lastDate
6 END
7 ELSE
8 BEGIN
9 INSERT INTO dbo.�(cotacao, data_cotacao)
10 VALUES ( ? , CAST(GETDATE() AS DATE)
11 )
12 END

Se existir uma cotação para o dia eu apenas atualizo essa cotação, se não existir eu vou inserir um novo registro na table.

Basicamente esse é o procedimento para criar uma rotina que pega a cotação de uma moeda de uma fonte confiável (Banco Central do Brasil) e atualiza
diariamente em um table no banco de dados.
Esse serviço pode ser utilizado de outras formas e o foco deste post foi informar o códigos utilizados para pegar o valor da cotação desejada.

Até a próxima!

 (/#facebook)  (/#twitter)  (/#google_plus)  (/#linkedin)


 (/#whatsapp)
 (https://www.addtoany.com/share#url=http%3A%2F%2Fblog.tiagocrizanto.com%2Fconfiguracoes­do­webservice­do­banco­central­cotacoes­
diversas%2F&title=Configura%C3%A7%C3%B5es%20do%20webservice%20do%20banco%20central%20%E2%80%93%20Cota%C3%A7%C3%B5es%20diversas&description=)
Esta entrada foi publicada em C# (http://blog.tiagocrizanto.com/category/c/), Cotação dólar (http://blog.tiagocrizanto.com/category/cotacao­dolar/), SQL Server
Integration Services (http://blog.tiagocrizanto.com/category/sql­server­integration­services/). Guardar o permalink (http://blog.tiagocrizanto.com/configuracoes­do­
webservice­do­banco­central­cotacoes­diversas/).

Shakespeare para programadores → [Next post link] (http://blog.tiagocrizanto.com/shakespeare­para­programadores/)

27 comentários em “Configurações do webservice do banco central –
Cotações diversas”
Evandro Luiz disse:
25 de maio de 2015 em 20:51 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­38)

Prezados boa noite,

Gostaria de utilizar o serviço , porem preciso de todos os códigos e nomes das moedas. Preciso do código/seria do HKD (DOLAR HONG KONG). Não
consegui encontrar uma tabela com todas as moedas.

Atenciosamente,
Evandro Luiz

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=38#respond)

tiagocrizanto disse:
5 de junho de 2015 em 21:38 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
44)

Evandro infelizmente essa cotação não é fornecida. Eu consegui essa tabela de códigos entrando em contato por email com o banco
central, pois, na documentação do serviço não especifica qual código corresponde a qual moeda. Esse serviço não tem cotações somente
de moedas tem cotações como grama do ouro (código 4), onça do ouro (código 5), índice bovespa (código 7) e por aí vai.
Você pode tentar entrar em contato através do email dine5.deinf@bcb.gov.br (mailto:dine5.deinf@bcb.gov.br). Eles me responderam em
menos de 24h.
Espero ter ajudado!

Tiago Crizanto

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=44#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
16 de dezembro de 2015 em 01:42 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­
diversas/#comment­210)

Evandro,

Consegui a descrição de todos os códigos do webservice. De uma olhada em Cotações.txt (http://blog.tiagocrizanto.com/files/cotacoes.txt)

Abraço!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=210#respond)

Raphael disse:
22 de dezembro de 2015 em 14:09 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­
diversas/#comment­212)

Valeu Tiago! 
Essa lista me ajudou bastante!!!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=212#respond)

Luiz Rogério disse:
22 de janeiro de 2016 em 10:07 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
258)

Preciso acessar o webservice do banco central via Matlab. Há algum especialista em Matlab?

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=258#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
25 de janeiro de 2016 em 10:14 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
259)

Luiz, bom dia!

Nesse ponto não posso te ajudar. Mas cheguei a achar alguma coisa que talvez possa ajudar.

http://www.mathworks.com/help/matlab/call­wsdl­web­services.html (http://www.mathworks.com/help/matlab/call­wsdl­web­services.html) 
http://www.mathworks.com/help/matlab/matlab_external/set­up­wsdl­tools.html (http://www.mathworks.com/help/matlab/matlab_external/set­
up­wsdl­tools.html)
http://www.mathworks.com/help/matlab/ref/matlab.wsdl.setwsdltoolpath.html
(http://www.mathworks.com/help/matlab/ref/matlab.wsdl.setwsdltoolpath.html)

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=259#respond)

Abner Netto disse:
8 de junho de 2015 em 00:17 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­46)

Thiago, parabéns pelo post! Muito explicativo.
Estou tentando usar no Excel com a função =SERVIÇOWEB(), mas preciso passar toda a URL com os parâmetros, receber a string XML e extrair
somente a cotação do dólar. 
Tentei usar a função da seguinte forma: 
=SERVIÇOWEB(“https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl?getUltimoValorXML&codigoSerie=10813”) 
Porém não retorna nenhum valor referente a cotação do dólar na string XML.
Consegue me ajudar?

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=46#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
16 de junho de 2015 em 22:21 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
60)

Abner tudo bem?

http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/ 2/5
13/04/2016 Configurações do webservice do banco central – Cotações diversas | Tiago Crizanto
Abner tudo bem?

Não sou especialista em excel mas posso tentar ajudar. Já tentou consumir o serviço com a url
https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS/ (https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS/) ?

abs

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=60#respond)

Felipe Tadeu (http://lipetadeu@hotmail.com) disse:
17 de outubro de 2015 em 12:22 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­132)

Bom dia!

Meu nome Felipe, sou Especialista em Excel e Access VBA, caso alguém tenha interesse conforme acima de consumir webservices do Banco Central
usando Excel ou Access pode entrar em contato, desenvolve um suplemento que chamo de Ecomic_XL 100% em VBA Excel que consome o
Webserivce. 
lipetadeu@hotmail.com (mailto:lipetadeu@hotmail.com)

Abraços,

Felipe

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=132#respond)

Celso disse:
22 de outubro de 2015 em 18:47 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­136)

Tiago, boa tarde! 
Que tipo de projeto devo criar, para utilizar o webservice da mesma forma como você fez, em um Job do SSIS. 
Tentei criar um projeto do Integration Service Project, mas não me da a opção de add um serviço como referência.

Obrigado!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=136#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
3 de dezembro de 2015 em 12:58 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­
diversas/#comment­201)

Olá Celso! Desculpe a demora em responder. 
Para adicionar referencia ao webservice adicione o componente Script Task. Clique duas vezes neste componente e vá em “Edit Script…”. 
No editor que abrir clique com o botão direito no projeto c# e vá na opção Add Service Reference.
Clique em Advanced na janela que abrir (canto inferior esquerdo da tela). Na próxima janela clique em “Add Web Reference…” 
Coloque o endereço do webservice do BC e em seguida clique em Add Reference.

abraço

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=201#respond)

Elizeu disse:
9 de dezembro de 2015 em 19:55 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­205)

Como utilizar com a função importxml na planilha do google?

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=205#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
16 de dezembro de 2015 em 01:36 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­
diversas/#comment­209)

Olá Elizeu!

Pelo o que pesquisei seria necessário criar uma função no google apps (https://apps.google.com (https://apps.google.com)) para consumir o
webservice e retornar os valores desejados.
Alguns modelos de planilhas de acompanhamento: https://drive.google.com/templates?
type=spreadsheets&q=portfolio+tracker&sort=hottest&view=public&ddrp=1# (https://drive.google.com/templates?
type=spreadsheets&q=portfolio+tracker&sort=hottest&view=public&ddrp=1#)
Veja algumas referências 
http://blog.ouseful.info/2008/10/17/viewing­campaign­finance­data­in­a­google­spreadsheet­via­the­new­york­times­campaign­data­api/
(http://blog.ouseful.info/2008/10/17/viewing­campaign­finance­data­in­a­google­spreadsheet­via­the­new­york­times­campaign­data­api/)
http://blog.ouseful.info/2008/10/23/calling­amazon­associatesecommerce­web­services­from­a­google­spreadsheet/
(http://blog.ouseful.info/2008/10/23/calling­amazon­associatesecommerce­web­services­from­a­google­spreadsheet/)

Tutorial sobre a fórmula importxml: https://www.distilled.net/blog/distilled/guide­to­google­docs­importxml/
(https://www.distilled.net/blog/distilled/guide­to­google­docs­importxml/)

Espero ter ajudado

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=209#respond)

Luiz Rogerio disse:
28 de janeiro de 2016 em 01:38 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­261)

Tiago, muito obrigado. Veja se pode responder mais uma pergunta: é possível acessar o web service do banco central através de RESTful?

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=261#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
29 de janeiro de 2016 em 18:41 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
271)

Fala Luiz,

Creio que não. Eles só disponibilizam estes webservices (bom, foi o único que consegui encontrar). Até entendo eles disponibilizarem um
serviço SOAP. 
O SOAP tem alguns “problemas” como ser um protocolo verboso (XML), necessidade serialização e desserialização de xml etc, mas, ele
pode ser configurado sob diferentes protocolos e possui interfaces bem definidas (WSDL) que garante uma alta interoperabilidade.

abs,

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=271#respond)

Deywillan disse:
25 de fevereiro de 2016 em 14:35 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­281)

Muito bom o post, parabéns!

Uma dúvida, no sinal de “?” vai a variável “Cotacao”. Na verdade não entendi este sinal.

Obrigado.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=281#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
3 de março de 2016 em 01:51 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
282)

Olá Deywillan,

A interrogação recebe o valor da variável Dts.Variables[“Cotacao”]. 
Dentro do componente SQL Task você pode receber valores que vieram, por exemplo, de uma script task. Neste exemplo eu coloco o valor
dessa variável com a cotação que peguei do webservice do Banco Central na Script Task e utilizo o valor da variável no SQL Task. 
Se tiver mais alguma dúvida é só falar!

abraço!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=282#respond)

Lucas disse:
10 de março de 2016 em 15:14 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­283)

Olá amigo, tudo bem?

sou iniciante em linux e estou tentando extrair estas cotações através do comando “curl ­H “Content­Type: text/xml; charset=utf­8” ­H
“SOAPAction:getUltimoValorVO(10813)” https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl
(https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl)” 
, porém o retorno é todo o conteúdo do arquivo wsdl. Oque me deixa mais em dúvida na verdade é como o parâmetro deve ser passado através do
CURL, pois pelo oque vi no wsdl, o SOAPACTION está setado para soapAction=””… desde já agradeço e parabéns pela iniciativa

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=283#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
10 de março de 2016 em 16:45 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
284)

Olá Lucas,

Linux não é muito minha praia. Conheço muito pouco, mas fiz algumas pesquisas e me parece que você tem que usar um arquivo xml para
fazer o post dos parâmetros. Acredito que os links abaixo vão ajudar:
http://dasunhegoda.com/make­soap­request­command­line­curl/596/ (http://dasunhegoda.com/make­soap­request­command­line­curl/596/)
http://stackoverflow.com/a/12222750/1980202 (http://stackoverflow.com/a/12222750/1980202) 
http://stackoverflow.com/a/4574519/1980202 (http://stackoverflow.com/a/4574519/1980202)

abraço!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=284#respond)

http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/ 3/5
13/04/2016 Configurações do webservice do banco central – Cotações diversas | Tiago Crizanto

Lucas disse:
10 de março de 2016 em 21:03 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
285)

Valeu meu amigo, tudo de bom!

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=285#respond)

Douglas disse:
21 de março de 2016 em 02:27 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­286)

Muito interessante. Eu estava usando o https://www3.bcb.gov.br/ptax_internet/consultarTodasAsMoedas.do?method=consultaTodasMoedas
(https://www3.bcb.gov.br/ptax_internet/consultarTodasAsMoedas.do?method=consultaTodasMoedas) e em 15/set/2015 deixou de funcionar. Após
muuuuita pesquisa achei outro site http://www4.bcb.gov.br/feed/taxas.ashx (http://www4.bcb.gov.br/feed/taxas.ashx) a partir do dia 18/Set. Preciso
que venha a PTAX tanto do euro quanto do dolar, sempre com retorno XML. Há 10 dias atras deixou de funcionar este ultimo. Foi entao que encontrei
este site. Fantastico. Mas me deparei com algumas questoes: as outras URLs acima eram muito rapidas. Este webservice SOAP é muito lento, pois
demora 4­5 segundos cada consulta. Na url anterior vinha a ultima data + euro + dolar (compra e venda) numa pegada. Este servico SOAP vem o
ultimo valor mas só somente 1 moeda de cada vez. Pra pegar as quatro series tenho que fazer uma consulta pra saber a ultima data válida e entao
mais uma consulta com as 4 series + data. NEste caso, duas consultas, 11 segundos. Gente… é uma eter­ni­da­de. Alguma dica pra ficar mais
rapido?

Agradeço,

Douglas.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=286#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
23 de março de 2016 em 11:46 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
287)

Olá Douglas!

Estranho você ter essa lentidão toda. Acabei de fazer testes fazendo requisições ao webservice utilizando o SOAP UI e as requisições
demoraram menos de 1 segundo.
Você tentou consumir o serviço utilizando o método abaixo? 
getValoresSeriesXML – Recupera os valores de uma ou mais séries dentro de um determinado período.O resultado da consulta é devolvido
ao cliente em formato XML.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=287#respond)

Douglas disse:
23 de março de 2016 em 13:08 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
288)

Eu preciso das 4 cotacoes ao mesmo tempo: dolar e euro, compra e venda. Mas tenho que ter a data. Acontece que preciso sempre da
ultima. Se for domingo de pascoa, a ultima data seria quinta e não sexta por ser feriado. Por isto estou fazendo 2 consultas. A primeira com
getUltimoValorXML(1), aí sei a data, e a segunda $client­>getValoresSeriesXML($series,$data) aí sim com a data e com as quatro moedas.
Realmente testei hoje e está 1.5 segundos cada “ida”.
Parabens pelo artigo.

Muito obrigado pela atençao.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=288#respond)

Felipe disse:
2 de abril de 2016 em 00:24 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­289)

Boa Noite Tiago,

Parabéns pelo post, ajudou demais muito bem explicado, mas você chegou a consumir o WebService através do Oracle? Em todas as rotinas que
estou testando não consigo validar o certificado, mesmo com o Wallet criado.

Desde já agradeço.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=289#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
4 de abril de 2016 em 00:14 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
290)

Olá Felipe!

Infelizmente não cheguei a consumir através do Oracle. Não entendi a parte do certificado que você não consegue validar. 
Na rotina que desenvolvi, não é necessário nenhum certificado. Fiz testes usando o SOAP UI (https://www.soapui.org
(https://www.soapui.org)) e obtive os retornos normalmente.

abs,
Tiago Crizanto

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=290#respond)

Felipe disse:
4 de abril de 2016 em 16:28 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
291)

Bom dia Tiago,

Quando é feita uma requisição UTL.HTTP.Request(“https://www3.bcb.gov.br/sgspub/JSP/sgsgeral/FachadaWSSGS.wsdl”) é solicitado que
seja instalado/configurado o certificado para consumir o mesmo com a menasgem: “Certificado Inávildo”. Quando consumido no Visual
Studio, ele consome sem problemas e retorna os valores esperados.

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=291#respond)

tiagocrizanto (http://www.tiagocrizanto.com) disse:
5 de abril de 2016 em 02:20 (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/#comment­
292)

Felipe,

Acho que sei o que pode estar dando problema, mas, no seu caso não vou saber dar a solução. Acredito que seja um problema no
certificado https. Fiz um teste aqui e veja o que aconteceu quando adicionei a referência ao serviço:

Depois que cliquei em sim e habilitei o conteúdo, recebi a resposta.

http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/ 4/5
13/04/2016 Configurações do webservice do banco central – Cotações diversas | Tiago Crizanto

Acho que você vai ter que buscar uma forma ignorar que a conexão seja feita sem https.

abs,
Tiago Crizanto

Responder (http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/?replytocom=292#respond)

Deixar uma resposta
O seu endereço de e­mail não será publicado. Campos obrigatórios são marcados com *

Start typing...

Você pode usar estas tags e atributos HTML (HyperText Markup Language):

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data­url=""> <del datetime=""> <em> <i> <q cite="">
<s> <strike> <strong> <pre class="" title="" data­url=""> <span class="" title="" data­url="">

Nome * 

E­mail * 

Site 

Enviar Comentário

Buscar …

Tópicos recentes
Criando componente para exibição de cotação de moedas e ações (http://blog.tiagocrizanto.com/criando­componente­para­exibicao­de­cotacao­de­moedas­e­
acoes/)

Criptografar querystring ASP NET MVC (http://blog.tiagocrizanto.com/criptografar­querystring­asp­net­mvc/)

Mapeando o tipo smallint no entity framework code first (http://blog.tiagocrizanto.com/mapeando­o­tipo­smallint­no­entity­framework­code­first/)

Script SQL de todas os estados e cidades brasileiras (http://blog.tiagocrizanto.com/script­sql­de­todas­os­estados­e­cidades­brasileiras/)

SQL com a lista de todos os países em português, inglês e espanhol (http://blog.tiagocrizanto.com/sql­com­a­lista­de­todos­os­paises­em­portugues­ingles­e­
espanhol/)

Arquivos
abril 2016 (http://blog.tiagocrizanto.com/2016/04/)

janeiro 2016 (http://blog.tiagocrizanto.com/2016/01/)

junho 2015 (http://blog.tiagocrizanto.com/2015/06/)

maio 2015 (http://blog.tiagocrizanto.com/2015/05/)

abril 2015 (http://blog.tiagocrizanto.com/2015/04/)

março 2015 (http://blog.tiagocrizanto.com/2015/03/)

Categorias
ASP NET MVC (http://blog.tiagocrizanto.com/category/asp­net­mvc/)

C# (http://blog.tiagocrizanto.com/category/c/)

Code first (http://blog.tiagocrizanto.com/category/code­first/)

Cotação ações (http://blog.tiagocrizanto.com/category/cotacao­acoes/)

Cotação dólar (http://blog.tiagocrizanto.com/category/cotacao­dolar/)

Criptografia (http://blog.tiagocrizanto.com/category/criptografia/)

Entity Framework (http://blog.tiagocrizanto.com/category/entity­framework/)

Off topic (http://blog.tiagocrizanto.com/category/off­topic/)

Segurança (http://blog.tiagocrizanto.com/category/seguranca/)

SQL Server (http://blog.tiagocrizanto.com/category/sql­server/)

SQL Server Integration Services (http://blog.tiagocrizanto.com/category/sql­server­integration­services/)

Orgulhosamente criado por WordPress (http://wordpress.org/) | Themes and Plugins developed by Themekraft. (http://themekraft.com/)

http://blog.tiagocrizanto.com/configuracoes­do­webservice­do­banco­central­cotacoes­diversas/ 5/5

S-ar putea să vă placă și