Error al conectarse con un Webservice

He escuchado a varias personas comentar tanto personalmente como en algunos foros, los problemas que han tenido al tratar de obtener datos de servicios externos, como por ejemplo un Webservice.

Uno de los errores más comunes es el "404-not found", obviamente todos dicen que prueban el servicio en una aplicación web y funciona correctamente, por lo que no saben que es lo que puede estar sucediendo.

Silverlight por razones de seguridad no permite por defecto la comunicación con un servidor que no este en el mismo dominio que la aplicación, esto es considerado cross-domain access, por lo que se necesita habilitar una opción en un archivo de configuración. Este archivo es el clientaccesspolicy.xml.

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

Este archivo de ir en el root del dominio donde esta alojado el servicio al que queremos acceder desde la aplicación Silverlight.

Un video en inglés de Tim Heur sobre el tema es muy interesante y nos saca muchas dudas sobre este tema.

Recomiendo también el siguiente post donde se explica más en detalle como configurar este archivo para permitir a ciertas aplicaciones acceder a nuestros servicios.

1 Comment

Comments have been disabled for this content.