Webbtjänstbegäran

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Det finns en mängd olika HTTP-baserade webbtjänster. De vanligaste är:

  • REST

  • XML-RPC

  • SOAP

Om du vill använda en webbtjänst i ActionScript 3 skapar du ett URLRequest-objekt, konstruerar anropet till webbtjänsten antingen med hjälp av URL-variabler eller med ett XML-dokument, och skickar sedan anropet till tjänsten med ett URLLoader-objekt. Flex-ramverket innehåller flera klasser som gör det lättare att använda webbtjänster och som är särskilt användbara för åtkomst av avancerade SOAP-tjänster. Från och med Flash Professional CS3 kan du använda Flex-klasserna både i program som utvecklats med Flash Professional och i program som utvecklats i Flash Builder.

I HTML-baserade AIR-program kan du antingen använda klasserna URLRequest och URLLoader eller Javascript-klassen XMLHttpRequest. Om du vill kan du också skapa ett SWF-bibliotek som visar Flex-ramverkets webbtjänstkomponenter för din Javascript-kod.

När ett program körs i en webbläsare kan du endast använda webbtjänster på samma Internetdomän som den SWF som anropas, såvida inte servern som är värd för webbtjänsten också har en korsdomänprincipfil som tillåter åtkomst från andra domäner. En metod som ofta används när en korsdomänprincipfil inte finns tillgänglig är att använda en proxy för begäranden via en egen server. Adobe Blaze DS och Adobe LiveCycle stöder en proxy för webbtjänster.

I AIR-program krävs inte någon korsdomänprincipfil om webbtjänstanropet kommer från programmets säkerhetssandlåda. AIR-programinnehåll kommer aldrig från en fjärrdomän och kan därför inte ingå i den typen av attacker som korsdomänprinciper förhindrar. I HTML-baserade AIR-program kan innehåll i programmets säkerhetssandlåda göra XMLHttpRequests över olika domäner. Du kan tillåta att innehåll från andra säkerhetssandlådor kan göra XMLHttpRequests över olika domäner så länge som innehållet läses in i en så kallad iframe.