Lendo dados de um web service XML.

1) Introdução

Este artigo demonstra como realizar a coleta de dados de um web service que usa XML como protocolo. Para explicar esta coleta, usaremos um web service que fornece um endereço de acordo com o CEP informado.

2) O que são web services

Os serviços web (web services) são a base da computação distribuída através da Internet. Um consumidor de um web service pode chamar quaisquer operações que este serviço ofereça. O provedor do serviço, ou seja, a aplicação que implementa o web service, não precisa necessariamente estar na mesma máquina onde o web service está sendo utilizado: ele pode estar em qualquer outro lugar da Internet.

Os web services utilizam protocolos padrões da web, como XML, SOAP e HTTP. A linguagem XML é usada para representação e transmissão de dados estruturados, sendo totalmente independente de hardware, de software ou mesmo de linguagem de programação.

3) Arquivo XML

O XML (eXtensible Markup Language) é um formato para a criação de documentos com dados organizados de forma hierárquica. Ele está frequentemente presente em documentos de texto formatados, imagens vetoriais ou banco de dados. Seu propósito principal é facilitar o compartilhamento de informações através da Internet.

Conforme vimos anteriormente, usaremos neste artigo um arquivo XML de um web service que retorna um endereço de acordo com o CEP :  http://cep.republicavirtual.com.br/web_cep.php?cep=

Para exibir o endereço, informe o CEP após o sinal de igualdade, acrescentando “&formato=xml”, como no exemplo abaixo:

http://cep.republicavirtual.com.br/web_cep.php?cep=90510002&formato=xml

Abaixo, é possível ver o código XML retornado deste web service:

A primeira linha deste XML mostra a versão do arquivo:

A segunda linha apresenta a seção webservicecep. Esta seção possui diversos dados, como nome da cidade, bairro, logradouro, etc.

4) Leitura de um XML via scripts no E3

Para acessar estas informações no E3, será preciso criar o objeto XMLDOM, que dá acesso aos métodos e propriedades do arquivo XML. Será necessário passarmos a propriedade async para false.

set docxml = createobject(“microsoft.xmldom”)
docxml.async = false

O método Load carrega o documento XML desejado:

docxml.Load(http://cep.republicavirtual.com.br/web_cep.php?cep=90510002&formato=xml)

A partir deste ponto, é possível acessar os elementos do arquivo XML através do método getElementsByTagName, que retorna uma lista de todos os elementos descendentes do elemento especificado.

Com isto, para acessar os elementos filhos de webservicecep é necessário utilizar o script abaixo:

docxml.getElementsByTagName(“logradouro”).Item(0).Text

Script completo:

dim docxml, logradouro

set docxml = createobject("microsoft.xmldom")
docxml.async = false
docxml.Load("http://cep.republicavirtual.com.br/web_cep.php?cep=90510002&formato=xml")
logradouro = docxml.getElementsByTagName("logradouro").Item(0).Text

MsgBox logradouro

5) Aplicação exemplo

Anexada a este artigo está uma aplicação exemplo, desenvolvida no E3 versão 4.5 Build 245, para a realização da leitura de arquivos XML. O mesmo web service foi usado como referência.

Na tela foi inserido um setpoint para digitar o CEP, um ListBox para mostrar os dados retornados, e um botão com o scritp a ser executado.

No evento Click do botão foi inserido praticamente o mesmo script descrito anteriormente, apenas acrescentado os objetos SetPoint, ListBox e a montagem do link para com o botão “Abrir mapa”, abrir o google maps em um browser de internet.

Observação: Para rodar a aplicação, é necessário estar conectado à Internet.

6) Referências

  1. Microsoft MSDN Library Online
  2. W3Schools

Assista o vídeo relacionado a este artigo em nosso canal do YouTube. 

Anexos:

ConsultaCEP

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *