2008.06.20 08:40

Silverlight 2.0 beta2에서 바뀐 크로스 도메인 정책 (clientaccesspolicy.xml)

Silverlight에서 크로스 도메인 서비스(Cross Domain Services)를 하기 위해서는
요청하는 해당 디렉토리에 clientacesspolicy.xml 파일이 존재하여야 합니다.

clientaccesspolicy.xml 파일은 Silverlight 2.0 beta1에서는 아래와 같은 형식이었습니다.

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

그러나 똑같은 파일을 beta2에서 사용하시면  WebClient혹은 웹 서비스 참조로 사용할 경우 404 Not Found exception이 발생할 수도 있습니다.

사실 다른 구체적인 Exception이 뿌려지면 디버깅할 때 좀더 편할텐데 하필이면 404가 나오는지 의문입니다.

beta2에서는 아래와 같이 allow-from 엘레먼트에 http-request-headers 어트리뷰트를 "*" 라고 명시적으로 지정하여야 합니다.
<?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>


출처 : http://hoons.kr/MetaBlog/Contents.aspx?blogIdx=1428
Trackback 4 Comment 0