Exemplo de utilização de Web Services no Maker
Resumo
A Função utilizada para este recurso é:
Chamar Serviço Web (Chama o Serviço da Web de acordo com os parâmetros passados).
Parâmetros
1º - Endereço do Serviço Web (tipo Letras)
2º - Porta do Serviço Web (tipo Letras)
3º - Nome do Métoto (tipo Letras)
4º - Parâmetro Necessário para utilização do Serviço Web (tipo Variante)
Retorno
Retorna uma Variante.
Exemplo:
Parâmetros
1º - http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?WSDL
2º - CEPServicePort
3º - obterLogradouro
4º - 11111111 (CEP)
Retorno
Logradouro do CEP passado como parâmetro.
Visualize um exemplo prático e passo a passo
Neste exemplo, será consumido um Web Services no Maker. Iremos tomar como exemplo um formulário de cadastro de clientes e um Web Service (de terceiros) que obtém o logradouro a partir de um CEP informado. Ao preencher o CEP no formulário, o endereço ;será obtido automaticamente e o campo endereço será preenchido.
1º passo - criar o formulário no Maker.
- Vamos assumir que o formulário de Clientes esteja criado e funcionando.

2º passo - criar um fluxo que irá obter o valor do campo CEP e preencher o campo endereço:
-
Acesse o Editor de Fluxo de Ações;
-
Crie um Identificador (variável):
- Crie um Parâmetro de Entrada para receber o valor digitado no campo CEP:
- Crie a seguinte estrutura de fluxo inserindo dois objetos do tipo Processamento e documente como mostra a figura abaixo:
-
Para o primeiro objeto Processamento, será utilizada a função Chamar Serviço Web, que faz parte da categoria Utilitário. Essa função utiliza-se de quatro parâmetros:
- O primeiro parâmetro - determina o endereço do WSDL do Web Service. Clicando sobre o primeiro parâmetro da função, na tela Propriedades, selecione o Tipo Letras e determine o endereço http://www.byjg.com.br/xmlnuke-php/webservice.php/ws/cep?WSDL:

- O segundo parâmetro - determina a porta do Web Service. Clicando sobre o segundo parâmetro da função, na tela Propriedades, selecione o Tipo Letras e determine CEPServicePort.:

- O terceiro parâmetro - do método que será chamado no Web Service. Neste caso é o método que obtém o Logradouro a partir do CEP. Clicando sobre o terceiro parâmetro da função, na tela Propriedades, selecione o Tipo Letras e determine obterLogradouro:

- O quarto parâmetro - este é o parâmetro que o método do Web Service irá receber. No caso do método obterLogradouro, o parâmetro é o CEP do logradouro, que foi atribuído ao componente da tela anteriormente. Caso o método do Web Service receba n parâmetros, pode-se passar um objeto lista, contendo-os. Clicando sobre o quarto parâmetro da função, na tela Propriedades, selecione a Variável CEP:

-
Agora, utilizando o campo Atribuir o resultado ao identificador, selecione Retorno (então atribua o retorno do processamento à variável). Clique no botão
;
-
Para o segundo objeto Processamento, será utilizada a função Alterar Valor do Componente, que faz parte da categoria Formulário. Ocorrerá a alteração do valor do componente que corresponde ao endereço do Cliente no formulário, inclusive passando como parâmetro a variável Retorno, que irá conter o Logradouro que foi retornado pelo Web Service.. Esta função utiliza três parâmetros:
-
O primeiro parâmetro - determina o nome do formulário, na aba Identificadores, Componente do Tipo Formulário, utilizando o campo ao lado:
- O segundo parâmetro - determina o nome do componente do formulário que será preenchido pelo valor obtido. Da aba Identificadores, selecione o Tipo Componente e no campo ao lado, selecione o campo endereço do seu formulário:
- O terceiro parâmetro - determina o valor do campo que será preenchido. Neste caso, definiremos a variável Retorno:
-
Clique no botão
.
-
Feche o Editor de Fluxo de Ações.
3º passo - agora basta ligar o fluxo ao Evento Ao Sair do componente CEP do formulário:
-
Selecione o campo CEP do formulário;
-
Clique direito do mouse sobre o campo, posicione o mouse em Eventos.
-
Na opção Ao Sair, clique no botão
.
-
Na tela Ações, na opção Executar Regra de negócio, selecione abaixo o Nome do fluxo. No campo Entrada é necessário criar um parâmetro chamado CEP do tipo Letras e atribuí-lo ao componente CEP da tela (no caso CEP={edtCEP}). Deve-se observar que edtCEP é o nome do componente do campo CEP no formulário.

-
Após isto, salve o formulário.
-
Acesse o sistema na Web.
-
Atualize o formulário.
-
Ao preencher o CEP, na tela, o Endereço é preenchido automaticamente.