ONT-FAMILY: Verdana">Podemos encontrar no site dos Correios (www.correios.com.br) quase no rodapé da página principal, o sistema de busca de CEPs. No mesmo quadro, mais abaixo encontramos um link que direciona para “outras formas de consulta” (www.correios.com.br/servicos/cep/cep_loc_log.cfm).
Nessa página, no menu lateral esquerdo existe o link: Veja como consultar o CEP no Office da Microsoft (www.correios.com.br/parcerias/cep/office2003/default.cfm), onde você encontra as instruções de como instalar o Web Service no Office 2003.
Seguindo as instruções da página, durante o processo de instalação, o Office exibe uma janela com um endereço direcionando para o Web Service (Figura 1), a extensão ASMX indica que o Web Service foi criado com ASP.NET, e será esse endereço que usaremos para fazer as consultas.
Figura 1. Extraindo o endereço do Web Service do Office
Criando o projeto
Crie um novo projeto no Delphi. Para obter acesso ao Web Service usaremos SOAP através de uma interface que o Delphi gerará por meio do WSDL Importer. No menu File>New>Other, selecione a aba WebServices e então o WSDL Importer.
No wizard que aparecerá, digite o endereço do Web Service. O valor a ser digitado, é: “http://consultacep.correios.com.br/office2003/Query.asmx?WSDL”. O ?WSDL serve para que o Web Service retorne sua descrição e funções remotas disponíveis, se quiser ver o retorno detalhado abra o endereço anterior em seu navegador (Figura 2).
Figura 2. WSDL Import do Delphi
Depois de digitar o endereço, clique em Next e veja que o Delphi gerou uma unit com a interface de acesso ao Web Service, que possui apenas uma função chamada Query (Figura 3).
Figura 3. Interface gerada pelo WSDL Import para acesso ao Web Service
Após finalizar o assistente você terá uma nova unit em seu projeto, Query.pas. Como nosso objetivo é criar um cadastro de fornecedores, precisaremos de um banco de dados e a devida tabela para armazenar os fornecedores cadastrados. Neste exemplo utilizaremos o Firebird como banco de dados e os componentes dbExpress para acessá-lo.
Criando o banco de dados
Criei uma estrutura simples para a tabela de fornecedores, apenas para demonstrar o funcionamento do Web Service. Vamos então criar o banco de dados de testes através do script da Listagem 1, usando seu gerenciador Firebird preferido ou mesmo usando o isql na pasta bin do Firebird. Lembre-se de criar a pasta mostrada no script ou altere o caminho do arquivo para o de sua preferência.
Listagem 1. Script para criação do banco de dados de exemplo
CREATE DATABASE 'LOCALHOST:C:\CLUBEDELPHI\TESTE_CEP.FDB'
USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 4096;
CREATE TABLE FORNECEDORES (
ID INTEGER NOT NULL,
RAZAO_SOCIAL VARCHAR(200) NOT NULL,
CEP VARCHAR(8) NOT NULL,
ENDERECO VARCHAR(200),
NUMERO INTEGER,
BAIRRO VARCHAR(100),
CIDADE VARCHAR(150),
UF CHAR(2),
CNPJ_CPF VARCHAR(18),
TELEFONE VARCHAR(22),
CONTATO VARCHAR(200),
WEBSITE VARCHAR(200),
EMAIL VARCHAR(200));
COMMIT WORK;
ALTER TABLE FORNECEDORES ADD PRIMARY KEY (ID);
COMMIT WORK;
Criando o cadastro de fornecedores
Após criar o banco de dados, volte ao Delphi e adicione ao formulário os componentes: SQLConnection, SimpleDataset, DataSource, um DBNavigator e configure-os como descrito a seguir:
· SQLConnection
o Name: “SQLCon”
o ConnectionName: “IBConnection”
o LoginPrompt: False
o Params[SQLDialect]: “
o Params[Database]: “C:\CLUBEDELPHI\TESTE_CEP.FDB”
...