Dela via


Conexão com um Serviço WCF SSL usando o Emulador do Windows Phone 7

Artigo original publicado em 19 de junho de 2011, domingo

Me diverti bastante mais cedo tentando descobrir por que meu aplicativo Windows Phone 7 não podia conectar ao meu ponto de extremidade WCF.  Tinha testado as coisas completamente com um aplicativo de cliente winforms padrão e tudo funcionou muito bem, mas sempre que tentava acessar o mesmo ponto de extremidade do meu emulador do WP7, recebia o erro irritante com a mensagem "nenhum ponto de extremidade em escuta" e se você olhasse para a exceção interna, era algo como um 404 resposta não encontrada.  Claro que isso era completamente ridículo, o ponto de extremidade estava lá.  Aprendi duas coisas para resolver esse problema:

  1. O erro realmente quis dizer que o emulador de telefone não tinha a autoridade de certificação raiz para o certificado SSL em sua lista de certificados confiáveis. Infelizmente, mesmo com o WP7 1.1 (ou seja, Mango SDK), não há ainda uma maneira fácil de fazer isso. O que você realmente precisa fazer é colocar o arquivo .cer da autoridade de certificação raiz em um arquivo zip em algum lugar e, em seguida, colocá-lo em um site de onde você possa baixá-lo. Pode ser um servidor de desenvolvimento local, você pode enviá-lo para si mesmo pelo HotMail etc. Navegue até o arquivo a partir do emulador, ele será baixado e mostrará o conteúdo do arquivo zip. Se você clicar no arquivo .cer, ele oferecerá para instalá-lo para você. Aceite essa oferta e ele será colocado na lista de autoridades de certificação confiáveis e está pronto. Ou pode parecer que sim... (veja o próximo item)
  2. As etapas que descrevi no parágrafo anterior funcionam muito bem...até você parar e reiniciar o emulador. Não há estado persistente; sempre que você o para (ou nas muitas vezes que ele para sozinho ou é desconectado do Visual Studio), deve repetir toda a etapa 1 novamente. Toda vez. Trabalhoso demais. Não tenho certeza se isso está no radar de correções, acho que teremos que esperar para ver.

Esta é uma postagem de blog traduzida. Consulte o artigo original em Connecting to an SSL WCF Service with Windows Phone 7 Emulator