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: 1Char: 1Code: 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.