Usuário com melhor resposta
Windows Phone x WebService

Pergunta
-
Saudações a todos.
Baixei a SDK do Windows Phone ( 7.1) e para tentar desenvolver algo pensei em algo aparentemente simples, fazer a aplicação consumir um webService.
O método de consulta do webService retornava um dataset que deveria preencher uma grid no Windows Phone e foi ai que a coisa começou a complicar.
Como referenciar o webService se não existe a opção Add Web reference (no lugar existe a Service Reference, não sei se é o mesmo principio).
Alguém já fez isso ? Poderiam me auxiliar?
Desde já agradeço.
Brian Souza - Análise e Desenvolvimento de Sistemas
terça-feira, 28 de fevereiro de 2012 14:04
Respostas
-
Mudei para uma Collection e deu certo.
Valeu
Brian Souza - Análise e Desenvolvimento de Sistemas
- Marcado como Resposta Brian Souza sexta-feira, 25 de maio de 2012 16:59
sexta-feira, 25 de maio de 2012 16:59
Todas as Respostas
-
Brian,
segue o mesmo princípio, sendo com algumas observações.
Você vai fazer a referência web e depois consumir de forma assíncrona. Segue abaixo um código de exemplo:
private void ExibirDoacao() { try { wsDoacao.Service_MPM_DoacaoSoapClient doacao = new wsDoacao.Service_MPM_DoacaoSoapClient(); doacao.ObterDoacaoCompleted += new EventHandler<wsDoacao.ObterDoacaoCompletedEventArgs>(doacao_ObterDoacaoCompleted); doacao.ObterDoacaoAsync(); } catch (Exception ex) { throw; } } void doacao_ObterDoacaoCompleted(object sender, wsDoacao.ObterDoacaoCompletedEventArgs e) { lbDoadores.ItemsSource = e.Result.OrderByDescending(x=>x.DataDoacao); lblValorDoado.Text = e.Result.Sum(x => x.Valor).Value.ToString(); }
Att,
Paulo Rogério
- Sugerido como Resposta Paulo Rogério Martins Marques quarta-feira, 29 de fevereiro de 2012 11:31
terça-feira, 28 de fevereiro de 2012 15:57 -
A minha consulta no WS retorna um dataset.
Ao tentar preencher no Windows Phone ao invés do resultado, ele mostra ArrayOfXelement.
Já passou por isto ?
Brian Souza - Análise e Desenvolvimento de Sistemas
quarta-feira, 29 de fevereiro de 2012 13:48 -
Brian,
poderia postar parte de seu código para que possamos entender o que está acontecendo?
Att,
Paulo
quarta-feira, 29 de fevereiro de 2012 20:53 -
private void ConsWebService() { try { ServiceReference1.Service1SoapClient Sone = new ServiceReference1.Service1SoapClient(); Sone.RetornarConsultaCompleted += new EventHandler<ServiceReference1.RetornarConsultaCompletedEventArgs>(Sone_RetornarConsultaCompleted); Sone.RetornarConsultaAsync(); } catch (Exception erro) { MessageBox.Show(erro.ToString()); } } private void button1_Click(object sender, RoutedEventArgs e) { ConsWebService(); } void Sone_RetornarConsultaCompleted(object sender, ServiceReference1.RetornarConsultaCompletedEventArgs e) { MessageBox.Show(e.Result.ToString()); }
esse é o trecho do App , o Web service está realizando uma consulta e retornando um dataset ( obs. só há um código retornando dentro do ds, neste teste) e já tentei retornar também uma string no lugar do dataset.Brian Souza - Análise e Desenvolvimento de Sistemas
quinta-feira, 1 de março de 2012 19:21 -
Brian,
tenta fazer algo parecido com isso.
private void VerificaUsuarioLogado() { Util.Funcoes func = new Util.Funcoes(); Service_VNV_Usuario.VNV_Usuario usuario = func.ObterUsuarioLogado(); if (usuario != null) { Service_VNV_Usuario.Service_VNV_UsuarioSoapClient wsUsuario = new Service_VNV_Usuario.Service_VNV_UsuarioSoapClient(); wsUsuario.ObterUsuarioPorIDCompleted += new EventHandler<Service_VNV_Usuario.ObterUsuarioPorIDCompletedEventArgs>(wsUsuario_ObterUsuarioPorIDCompleted); wsUsuario.ObterUsuarioPorIDAsync(usuario.UsuarioID); } } void wsUsuario_ObterUsuarioPorIDCompleted(object sender, Service_VNV_Usuario.ObterUsuarioPorIDCompletedEventArgs e) { try { object results = e.Result; } catch (Exception ex) { MessageBox.Show("Internet ou serviço indisponível, tente novamente mais tarde"); return; } Service_VNV_Usuario.VNV_Usuario usuario = e.Result as Service_VNV_Usuario.VNV_Usuario; if (usuario != null) { } }
No seu caso você tem que fazer um cast de e.Result, no exemplo acima eu faço algo parecido.
Ve se consegue entender o que eu falei.
quinta-feira, 1 de março de 2012 19:49 -
Desculpa a demora.. mas não entendi muito bem o que deveria fazer..
Brian Souza - Análise e Desenvolvimento de Sistemas
quinta-feira, 8 de março de 2012 12:32 -
Mudei para uma Collection e deu certo.
Valeu
Brian Souza - Análise e Desenvolvimento de Sistemas
- Marcado como Resposta Brian Souza sexta-feira, 25 de maio de 2012 16:59
sexta-feira, 25 de maio de 2012 16:59