Eventos TechNet e MSDN na Green

Mais uma vez estaremos promovendo eventos do Microsoft CEA - Comunidade em Ação.

TechNet Community: Conheça a familia System Center - São Paulo, SP
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423501&Culture=pt-BR

sexta-feira, 14 de agosto de 2009 19:00 - sexta-feira, 14 de agosto de 2009 22:00 Brasília
Green Treinamento
Avenida Paulista, 326 - 12o Andar
São Paulo São Paulo Brasil

TechNet Community: Migrando do Exchange 2003 para o Exchange 2007 - São Paulo, SP
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423502&Culture=pt-BR

segunda-feira, 17 de agosto de 2009 19:00 - segunda-feira, 17 de agosto de 2009 22:00 Brasília
Green Treinamento
Avenida Paulista, 326 - 12o Andar
São Paulo São Paulo Brasil

MSDN Community: Sharepoint 2007 para Desenvolvedores - São Paulo, SP
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423499&Culture=pt-BR

terça-feira, 18 de agosto de 2009 19:00 - terça-feira, 18 de agosto de 2009 22:00 Brasília
Green Treinamento
Avenida Paulista, 326 - 12o Andar
São Paulo São Paulo Brasil

TechNet Community: Windows 2008 R2 + Windows 7 - Combinação perfeita ! - São Paulo, SP
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423488&Culture=pt-BR

quarta-feira, 19 de agosto de 2009 19:00 - quarta-feira, 19 de agosto de 2009 22:00 Brasília
Green Treinamento
Avenida Paulista, 326 - 12o Andar
São Paulo São Paulo Brasil

Problemas de acesso no Silverlight 3 com WebServices (access denied cross-domain)

Ao executar um componente feito em Silverlight que acesse um dados externo como um WebService ou um componente WCF você poderá receber uma mensagem totalmente insignificante, como abaixo:

"Message: Unhandled Error in Silverlight Application An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
   at SilverlightApplication1.MeuWS.RetornaPessoaCompletedEventArgs.get_Result()
   at SilverlightApplication1.MainPage.X_RetornaPessoaCompleted(Object sender, RetornaPessoaCompletedEventArgs e)
   at SilverlightApplication1.MeuWS.WSExemplo1SoapClient.OnRetornaPessoaCompleted(Object state)
Line: 1
Char: 1
Code: 0"

Caso voce acesse o InnerException como sugerido na mensagem receberá um erro de access denied por não haver manifesto de confiança cross-domain ou cross-forest.

Este erro acontece porque o Silverlight ao acessar um componente externo precisa que seja confiado para uso naquela URL.

O arquivo ClientAccesspolicy.xml é muito simples e deve estar no mesmo site que o webservice (asmx) está:

<?xml version="1.0" encoding="utf-8"?>  
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="http://*" />
        <domain uri="https://*" />
      </allow-from>  
      <grant-to>
          <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy> 
  </cross-domain-access>
</access-policy>

Note que nas linha 5 inicia uma relação dos sites que podem acessar o webservice em que este arquivo está hosteado. No exemplo acima estamos permitindo qualquer site de utilizar o nosso webservice, mas obviamente você irá montar sua própria lista.