Webserviceaanvragen

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Er bestaan verschillende HTPP-webservices. De hoofdtypen zijn:

  • REST

  • XML-RPC

  • SOAP

Als u een webservice in ActionScript 3 wilt gebruiken, maakt u eerst een URLRequest-object. Vervolgens construeert u de webserviceaanroep met URL-variabelen of een XML-document en tot slot verzendt u de aanroep naar de service met behulp van een URLLoader-object. Het Flex-raamwerk bevat verschillende klassen om het gebruik van webservices gemakkelijker te maken. Dit is vooral handig bij toegang tot complexe SOAP-services. Vanaf Flash Professional CS3 kunt u de Flex-klassen gebruiken in toepassingen die zijn ontwikkeld met Flash Professional en met Flash Builder.

Bij AIR-toepassingen die zijn gebaseerd op HTML kunt u enerzijds de URLRequest- en URLLoader-klassen gebruiken, of anderzijds de XMLHttpRequest-klasse van Javascript. Indien gewenst, kunt u ook een SWF-bibliotheek maken waarmee de webservicecomponenten van het Flex-framework beschikbaar worden gemaakt voor uw Javascript-code.

Wanneer uw toepassing in een browser wordt uitgevoerd, kunt u alleen webservices gebruiken die in hetzelfde internetdomein staan als het SWF-bestand dat de aanroep uitvoert, tenzij de server die als host fungeert voor de webservice ook de host is van een bestand met interdomeinbeleid dat toegang verleent aan aanvragen uit andere domeinen. Een techniek die vaak wordt gebruikt wanneer een bestand met interdomeinbeleid niet beschikbaar is, bestaat uit het indienen van aanvragen via uw eigen server middels een proxy. Adobe Blaze DS en Adobe LiveCycle bieden ondersteuning voor een dergelijke webserviceproxy.

Bij AIR-toepassingen is geen bestand met interdomeinbeleid vereist wanneer de webserviceaanroep komt uit de beveiligingssandbox van de toepassing. Inhoud van een AIR-toepassing wordt nooit aangeboden vanaf een extern domein. Daarom kan deze inhoud ook niet deelnemen aan de typen aanvallen waartegen bestanden met interdomeinbeleid beveiligen. Bij AIR-toepassingen die zijn gebaseerd op HTML kan de inhoud in de beveiligingssandbox van de toepassing interdomeinaanvragen indienen met XMLHttpRequests. U kunt inhoud in andere beveiligingssandboxen toestaan om interdomeinaanvragen met XMLHttpRequests in te dienen, op voorwaarde dat de inhoud wordt geladen in een iframe.