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).
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.
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.
Adicione um objeto processamento e no montador de expressão selecione a função Alterar valor do componente.
Adicione um objeto processamento e no montador de expressão selecione a função Alterar valor do componente.
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.
Veja um exemplo de consumo de Webservice com ‘texto formatado’.