에러 메시지는 ‘URI 'http://localhost:19982/MyWCF.Service/serviceForSilverlight.svc'에 대한 요청을 만드는 동안 오류가 발생했습니다. 적절한 상호 도메인 정책 없이 상호 도메인 경로의 서비스에 액세스하려고 했거나 SOAP 서비스에 적합하지 않은 정책을 사용하려고 했기 때문일 수 있습니다. 서비스 소유자에게 문의하여 상호 도메인 정책 파일을 게시하고 SOAP 관련 HTTP 헤더가 전송될 수 있도록 할 수 있습니다. 이 오류는 InternalsVisibleToAttribute 특성을 사용하지 않고 웹 서비스 프록시에서 내부 형식을 사용해서 발생한 문제일 수도 있습니다. 자세한 내용은 내부 예외를 참조하십시오.’ 입니다.
<?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <!-- http-request-headers를 설정하여 특정 헤더를 포함하는 요청만 허용할 수 있습니다. --> <allow-from http-request-headers="*"> <!-- 어떤 도메인에 대해서 Service를 허용할 것인가. 아래는 전체 도메인에 대한 허용 --> <domain uri="*"/> </allow-from> <grant-to> <!-- 어떤 자원을 허용할 것인가. --> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>crossdomain.xml
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-http-request-headers-from domain="* " headers="*" /> </cross-domain-policy>둘 중에 하나만 넣거나 둘 다 넣어도 동작하며, 가장 유의해야 할 것은 Web Service서버의 루트에 파일을 올려두는 것입니다!