2013-05-06 3 views
1

Silverlight4 응용 프로그램에서 다른 웹 서버에 대한 요청을 처리합니다. 포럼 stackoverflow posts 및 MSDN Silverlight는 crossdomain 요청을 제한합니다. 하지만 silverligh4 이상 버전에서는 clientaccesspolicy.xml을 통해 예외를 추가하여 이러한 요청을 할 수 있음을 알게되었습니다. xml을 내 clientaccesspolicy.xml로 추가했습니다.silverligh4 응용 프로그램의 교차 도메인 웹 요청이 보안 예외를 throw합니다.

xml 파일이 내 응용 프로그램의 루트에 있습니다. 하지만 다음 줄에서는 여전히 보안 예외가 발생합니다.

HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult); 

여기에 누락 된 부분이있을 수 있습니다. 거기에 응용 프로그램에서 다른 로컬 서비스를 호스팅하고이를 통해 요청할 수 있음을 알고 있습니다. 그러나 나는 그 해결책을 가고 싶지 않을 것이다.

답변

1

나는 SL이 어떤 이유로 XML을 읽지 않는다고 생각합니다.

나는 Fiddler를 시작하고 Silverlight 및 응답에 의한 요청을 확인하는 것이 좋습니다. 다른 도메인의 데이터에 액세스 할 때 XML 파일을 찾아야합니다. 404 (또는 다른 오류)가 발생하면 보안 예외가 발생합니다.

또한 ... 확실히 ... 당신은 처음에 <?xml version="1.0" encoding="utf-8"?>을 잊지 않았습니까? 그리고 XML 파일은 Silverlight 응용 프로그램이 액세스하는 서버에 있어야하며, Silverlight 응용 프로그램을 호스팅하는 서버에 있어야하지 않습니까? ;)

+0

내가 액세스하는 서비스는 tomcat에서 호스팅되는 REST Java 서비스입니다. 실제로 Silverlight 호스팅 애플 리케이션에서 xml 파일을 추가했습니다. 하지만 tomcat이 XML 파일을 읽는 방법에 대해 궁금한가요? 어쨌든 나는 xml 파일을 tomcat 서버에 두는 것에 대한 액세스 권한을 갖고 있지 않습니다. 다른 솔루션? – kuhajeyan

+1

로컬 프록시 서비스를 만드는 것 외에는? 아니요. 기본적으로 Silverlight는 XAML에 정의되어있는 한 정적 온라인 리소스에 액세스 할 수 있습니다 (그래서 ... 간단한 리소스 만 포함)뿐만 아니라 모든 로컬 리소스. 하지만 그 외의 것들은 TARGET 서버의 권한이 필요합니다 (이것은'clientaccesspolicy.xml' 파일을위한 것입니다). 덕분에 – Shaamaan

+0

. 최선의 방법으로 로컬 프록시를 만들 수 있습니다. – kuhajeyan

관련 문제