웹 서비스 요청

Flash Player 9 이상, Adobe AIR 1.0 이상

HTTP 기반 웹 서비스에는 여러 가지가 있습니다. 기본적인 종류는 다음과 같습니다.

  • REST

  • XML-RPC

  • SOAP

ActionScript 3에서 웹 서비스를 사용하려면 URLRequest 객체를 만들고 URL 변수 또는 XML 문서를 사용하여 웹 서비스 호출을 만든 후 URLLoader 객체를 통해 서비스로 호출을 보냅니다. Flex 프레임워크에는 웹 서비스를 쉽게 사용할 수 있도록 하는 여러 클래스가 들어 있습니다. 특히 복잡한 SOAP 서비스를 액세스하는 데 유용합니다. Flash Professional CS3부터 Flash Professional로 개발된 응용 프로그램과 Flash Builder로 개발된 응용 프로그램에서 Flex 클래스를 사용할 수 있습니다.

HTML 기반 AIR 응용 프로그램에서는 URLRequest 및 URLLoader 클래스 또는 JavaScript XMLHttpRequest 클래스를 사용할 수 있습니다. 필요한 경우 SWF 라이브러리를 생성하여 Flex 프레임워크의 웹 서비스 구성 요소를 JavaScript 코드에서 사용할 수도 있습니다.

응용 프로그램을 브라우저에서 실행하는 경우 호출 SWF와 동일한 인터넷 도메인에서만 웹 서비스를 사용할 수 있습니다. 단, 웹 서비스를 호스팅하는 서버가 다른 도메인에서의 액세스를 허용하는 크로스 도메인 정책 파일도 호스팅하는 경우는 예외입니다. 크로스 도메인 정책 파일을 사용할 수 없는 경우 자체 서버를 통해 요청을 프록싱하는 방법이 주로 사용됩니다. Adobe Blaze DS와 Adobe LiveCycle은 웹 서비스 프록싱을 지원합니다.

AIR 응용 프로그램에서는 웹 서비스 호출이 응용 프로그램 보안 샌드박스에서 발생한 경우 크로스 도메인 정책 파일이 필요 없습니다. AIR 응용 프로그램 내용은 원격 도메인에서 제공되지 않으므로 크로스 도메인 정책에서 금지하도록 설정한 유형의 공격에 참여할 수 없습니다. HTML 기반 AIR 응용 프로그램에서 응용 프로그램 보안 샌드박스의 내용은 크로스 도메인 XMLHttpRequests를 만들 수 있습니다. 다른 보안 샌드박스의 내용이 iframe에 로드되는 한 해당 내용이 크로스 도메인 XMLHttpRequests를 만들도록 허용할 수 있습니다.