Flex에서 HTTPService를 사용하여 원격 서버의 리소스에 접근하는 프로그램을 작성한 후에 로컬 파일시스템에서 테스트해보면 잘 돌아가던 것이 서버에 배포한 후에 서버에 접속하여 실행해보면 제대로 동작하지 않는 경우가 있다. 이때의 디버그메시지를 확인해 보면
[RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination:DefaultHTTP"]
...
와 같은 내용의 에러 메시지가 보인다.
이 문제는 HTTPService로 접속하는 원격서버에 crossdomain.xml이 존재하지 않거나 나의 서버가 crossdomain.xml에 포함되어 있지 않은 경우이다.
해당 서버의 crossdomain.xml을 점검하여 나의 서버를 접근 가능하도록 설정해 주면 문제가 해결된다.
다음은 crossdomain.xml 의 샘플이다. 이 파일은 반드시 원격서버의 최상위 웹어플리케이션에 저장하여http://www.remoteservice.com/crossdomain.xml 과 같은 경로로 접근할 수 있도록 해야한다.
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
[RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination:DefaultHTTP"]
...
와 같은 내용의 에러 메시지가 보인다.
이 문제는 HTTPService로 접속하는 원격서버에 crossdomain.xml이 존재하지 않거나 나의 서버가 crossdomain.xml에 포함되어 있지 않은 경우이다.
해당 서버의 crossdomain.xml을 점검하여 나의 서버를 접근 가능하도록 설정해 주면 문제가 해결된다.
다음은 crossdomain.xml 의 샘플이다. 이 파일은 반드시 원격서버의 최상위 웹어플리케이션에 저장하여http://www.remoteservice.com/crossdomain.xml 과 같은 경로로 접근할 수 있도록 해야한다.
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
'RIA > Flex' 카테고리의 다른 글
| Flex의 Channel.Security.Error 해결방법 (0) | 2007/08/29 |
|---|





