Curso Windows Phone – Como consumir dados de webservices

Olá pessoal, tudo bom?

Para demonstrar como consumir webservices através de APPs do Windows Phone, criei uma aplicação que faz uso de um webservices que disponibiliza os Estados e cidades do Brasil. Veja na imagem a seguir um exemplo da APP em funcionamento:

Imagem da APP em funcionamento: O usuário selecionou o Estado de SP e o aplicativo exibiu suas respectivas cidades

Agora que você teve uma ideia do objetivo da aplicação, assista na sequencia a um vídeo que demonstra como foi o meu trabalho para o desenvolvimento da primeira parte do projeto (Lista dos Estados).

Caso a resolução do vídeo não esteja boa, assista diretamente no Youtube e troque a qualidade para HD.

O webservice que estou utilizando no vídeo disponibiliza métodos para consulta dos estados e cidades do Brasil e pertence à empresa i-Stream Realtime Business. Para detalhes sobre o funcionamento desse webservices, clique aqui.

 Download do código fonte da APP (completo)

Grande abraço a todos,
Eduardo Henrique Rizo

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

Posts relacionados:

Curso Windows Phone Gratuito

31 comentários em “Curso Windows Phone – Como consumir dados de webservices”

  1. Pingback: Free: Curso Windows Phone – Vários tópicos « Blog do Eduardo H. Rizo

    1. Olá Smael, tudo bom?
      O jeito mais fácil e ao meu ver mais eficiente é através do uso do bloco de controle try… catch…
      Na parte do “try” você tenta usar o recurso e, se não der certo, você trata a exceção no “catch”. OK?

      1. Sim, na verdade já as chamadas estão dentro do try, porem ele se comporta como se não estivesse, em tempo de projeto da erro no método “public MaxProducao.wsProducao.LoginResponse EndLogin(System.IAsyncResult result)” do WebService e no aparelho, fecha a aplicação, se tiver como te passar uma print da tela consigo explicar melhor!

        O erro é:

        The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: ‘

        Grato pela atenção desde já!

  2. Ola Eduardo
    Como faço, por exemplo um aplicativo meu enviar informações para um servidor qualquer em um site. Me diga o que pesquisar, sou novo na área gostaria de me aprofundar no assunto.
    Obrigado

    1. Boa noite Anderson, tudo bom?
      Basicamente você precisa ter um webservice no servidor para onde se deseja enviar os dados e este por sua vez realizar a gravação desses dados em um BD qualquer. Depois disso, basta fazer referência a esse webservice em seu projeto Windows Phone e chamar o método associado a ele. Entendeu?

      Abraços,
      Eduardo H. Rizo

  3. Boa tarde Eduardo, eu estou com algumas dúvidas,uma delas é que o site que você informou está diferente,la existem webservice porém não mais para os estados do Brasil,e as que aparecem não mostram mais o link invoke com o xml para sabermos os objetos de referencia para por dentro do Visual Studio.

    Segundo,queria saber como que fica o webservice em login e senha,você tem alguma vídeo aula ensinando a fazer isso ? Muito Obrigado

    1. Boa tarde, tudo bom?
      Realmente o site que uso no meu exemplo não está mais disponível. Uma pena!
      Você estava querendo usar o webservice desse site?

      Sobre o WebService de logon e senha, não entendi o que vc queria. Poderia explicar melhor?

      1. sso,eu queria usar o webservice para aprender a como se faz,mas não consigo,porque muitos tem de CEP porém tem que ter entrada de dados,e na sua video aula eu aprendi a listar os Estados.

        Sobre o Login e senha,digamos que tem um site que tenha Usuário e senha,e eu queira fazer um aplicativo que acesse esse site sem que eu abra o navegador do celular,como antes que listava os Estados,eu acesse com meu usuário e senha esse site e depois fazer todo o processo de listagem do conteúdo interno dele.Obrigado.

      2. Nathiel, nesse caso você precisaria consumir o método de um webservice que recebesse por parâmetro o usuário e senha de acesso e, caso a autenticação estivesse correta, então você receberia como resultado um determinado valor (booleano, inteiro, etc) para te indicar se a autenticação ocorreu ou não.
        Você já tem esses webservices desenvolvidos ou pretende usar de terceiros?

        Abraços,
        Eduardo H. Rizo

      3. Eu pretendo usar da Minha Faculdade,eu não sei fazer webservices, e queria tentar criar um aplicativo.Obrigado

      4. Nathiel, tudo bom?
        Você tem acesso aos WebServices da sua faculdade?
        Se sim, bastaria criar uma referência a eles e então utilizar os métodos que estiverem disponibilizados, pois a forma de consumir seria a mesma que eu mostrei no vídeo que você assistiu.

        Abraços,
        Eduardo H. Rizo

      5. Eduardo, td bem?
        Posso criar um webservice na minha máquina, por exemplo, quando crio um site (locahost), uso meu pc para testar e tal.. Consigo criar um webservice e fazer se comunicar com meu projeto, meu app no device.

  4. Bom dia Eduardo,tranquilo? Bem, ainda vou perguntar ao pessoal da faculdade se eles usam webservices,mas somente segunda agora. Eu aprendi a criar WebServices e montei um para mim,também consegui criar uma aplicação em C# para Desktop e consegui consumir os dados do meu WebService,porém não consigo fazer a mesma coisa no Windows Phone,segui os passos do tutorial e não consigo,porque eu queria fazer operações básica no meu Windows Phone 8.x tudo pelo servidor,é diferente o modo de usar do C# comum para o do Windows Phone,agradeceria se você pudesse me ajudar e mostrar onde que está errado,eu tenho um servidor e disponibilizei os arquivos fontes,se puder dá uma olhada eu Agradeceria, aqui está o link,e no site tem onde pode ver os aquivos. Muito obrigado.

    http://nathiel.somee.com/

  5. Boa tarde Eduardo, td bem?
    Eu preciso de um Webservice que grava em um banco dados, depois eu acesso este banco de dados com meu site php. Neste banco vou enviar as informações via aplicativo Windows Phone. Vc poderia me informar um link em que exista um tutorial explicando WebService com Banco de dados, estou tendo dificuldade em encontrar.Obrigado

      1. Olá Eduardo, primeiramente obrigado pela resposta rápida e pela paciência.
        Agora estou com problema em aprender a desenvolver Webservice com Banco de dados
        Obrigado mais uma vez

  6. Olá… Primeiramente parabens oelo post…
    Gostaria de saber se é possivel enviar informações para o WebService seguindo este conceito. Exemplo:
    No me WS tenho a seguinte função:

    function Hello($nome){
    return “Ola “.$nome;
    }

    Gostaria de saber como devo passar o parametro $nome pra ele.

    Desde já agradeço.
    Abraços

  7. Pingback: Curso Windows Phone – Como ler dados de documentos XML usando LINQ como forma de consulta | Blog do Eduardo H. Rizo

  8. Olá Eduardo H.
    O Seu post esta sendo útil até hoje, contudo eu tenho duas duvidas.
    Primeiramente:
    Eu tenho um formulário na minha app, para criação de um post como instagram, uma imagem e comentário.
    eu consigo pega-los e mostra-los na tela.
    Contudo, não sei com enviar para o WebService, para ele armazenar no banco de dados.
    Dois, é em relação a imagem, quando eu coloco a imagem na tela ele esta salvo no dispositivo, caso eu tenho o link da imagem, também consigo mostra-lá na tela.

      1. Entendi, mas quais são os parâmetros que o método add espera receber?

        []s
        Eduardo H. Rizo

      2. Posts\add -> recebe imagem, descrição, id_usuario;
        a maior duvida é como como tratar e enviar a imagem.

  9. Eduardo, tenho seguinte problema.
    Sou iniciante em C#, meu Visual Studio é o 10 for Windows Phone, minha versão do Windows Phone é o 7. Pesquisei na internet e nessa versão do comando “async” só funciona do Visual Studio 12 para cima. Tem alguma outra alterantiva ?
    Eu consigo mapear o wsdl do webservice com o service references, mas o retorno sempre vem nulo, mas no Android funciona, e em uma aplicação desktop C# também funciona qual o erro pode ser ?
    O Web Service é em Java e roda no Jboss, chamo pelo
    Segue o código fonte:

    public partial class MainPage : PhoneApplicationPage{
    wsServico.cadastroTo cadastroTo = null;

    public MainPage(){
    InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e){
    wsServico.TesteJavaWsClient ws = new wsServico.TesteJavaWsClient();
    ws.returnServicoAsync(“A”, “B”);
    ws.returnServicoCompleted += new EventHandler(ws_returnServicoCompleted);

    }

    void ws_returnServicoCompleted(object sender,
    wsServico.returnServicoCompletedEventArgs e){
    cadastroTo = e.Result;
    textBox1.Text = cadastroTo.cadastroId.ToString();
    }

    }

Deixe um comentário