Utilização do WebService no Maker Mobile
Veja a observação sobre os tipos aceitáveis no Webservice, clicando aqui.
Este exemplo tem por finalidade demonstrar a utilização do WebService no Maker Mobile. Primeiramente imagine que seja necessário preencher um formulário de cadastro e que neste formulário seja necessário informar o CEP para consulta do Estado, Bairro e Cidade. Com base nesta linha de raciocínio, siga os passos abaixo.
-
Crie um formulário com o seguinte layout. O formulário não possui fonte de dados e a propriedade Navegação está definida como Não.

-
Criado o layout, é hora de partir para a criação do fluxograma, que será associado ao botão Obter Logradouro.
Para um melhor entendimento o fluxo ficará da seguinte forma:
-
Clique sobre o objeto início e defina o parâmetro de entrada cep.

-
Adicione duas variáveis. A primeira, do tipo Variante, será chamada de Lista e a segunda, do tipo de Letras, será chamada de retorno.

-
Adicione um objeto processamento e no montador de expressão, selecione a função Chamar Serviço Web para Dispositivos Móveis ( esta função é exclusiva da API do Maker Mobile).

- No primeiro parâmetro informe o endereço do WebService, neste exemplo será utilizado o endereço http://www.byjg.com.br/site/webservice.php/ws/cep?WSDL.
- No segundo parâmetro será informado a porta do WebService, neste exemplo será utilizado CEPServicePort.
- No terceiro parâmetro será informado o nome do método, neste exemplo será utilizado obterLogradouro
- No quarto parâmetro será informado a lista dos parâmetros que são esperados pelo WebService. Observe que o nome do parâmetro deve ser exatamente igual ao definido no WebService a ser consumido.
- No quinto será informado a lista dos parâmetros que serão enviados ao WebService, neste exemplo a variável cep.
Nota: Como o retorno do WebService não vem da maneira que se deseja obter, é necessário tratá-lo. Adicione um objeto processamento e no montador de expressão selecione as funções Troca Subsequência e Quebra de texto, seu retorno será associado a variável Lista.
-

- No primeiro parâmetro informe a variável Retorno, que é o retorno do WebService;
- No segundo parâmetro informe VOCE PRECISA ESTAR AUTENTICADO. MAIORES INFO ACESSE O SITE. (só é necessário utilizar este tratamento para usuários não cadastrados);
- No terceiro parâmetro informe nulo;
- Acima da função Troca Subsequência informe a função Quebrar Texto e em seu segundo parâmetro informe “,” (vírgula). Para que a string retornada pelo WebService seja transformada em lista separando cada elemento por, (vírgula). Por fim, retorne seu valor a variável Lista.
Com o retorno do WebService tratado da maneira correta, é hora de se definir onde serão introduzidos os seus dados. Adicione um objeto processamento e no montador de expressão selecione a função Alterar valor do componente.

- No primeiro parâmetro informe o formulário Cadastro;
- No segundo parâmetro informe o componente Bairro;
- No terceiro parâmetro informa a função Obter Objeto da Lista, como primeiro parâmetro desta função informe a variável Lista e no segundo parâmetro informe o valor 2. Onde será retornado o bairro como elemento.
-
Adicione um objeto processamento e no montador de expressão selecione a função Alterar valor do componente.

- No primeiro parâmetro informe o formulário Cadastro.
- No segundo parâmetro informe o componente Cidade.
- No terceiro parâmetro informe a função Obter Objeto da Lista, como primeiro parâmetro desta função, informe a variável Lista e em seu segundo parâmetro informe o valor 3. Onde será retornado a cidade como elemento.
-
Adicione um objeto processamento e no montador de expressão selecione a função Alterar valor do componente.

- No primeiro parâmetro informe o formulário Cadastro.
- No segundo parâmetro informe o componente Estado.
- No terceiro parâmetro informa a função Obter Objeto da Lista, como primeiro parâmetro desta função informe a variável Lista e no segundo parâmetro informe o valor 4. Onde será retornado o Estado como elemento.
-
Salve o fluxo com o nome Obter logradouro e associe o fluxo ao componente botão, associando o componente Cep , para que seja referência do parâmetro de entrada Cep.

-
Exporte o sistema para a plataforma desejada e execute o exemplo. Veja na imagem abaixo:

Atualmente, o Maker Mobile em sua versão 1.0 suporta apenas o consumo de Webservices que retornem tipos primitivos como "Letras", "Data/Hora", "Fracionado", "Inteiro" ou "Lógico". Desta forma, caso o Webservice consumido retorne tipos como "Lista", "Mapa" ou "Variantes" o retorno será tratado como "Nulo" não sendo possível obter o valor retornado.
Caso seja necessário o consumo de Webservice com retornos do tipo “Variante”, sugerimos que outro Webservice consuma o serviço e retorne para o Mobile ‘texto formatado’ conforme imagem abaixo.
Observação sobre os tipos aceitáveis no Webservice

Veja um exemplo de consumo de Webservice com ‘texto formatado’.