Home
News
Weblog
Kompetenzen
Referenzen
Media
Unternehmen
Kontakt

Archive for the ‘Adobe Flash’ tag

Security Error beim Aufruf eines Webservices

without comments

Seit dem Release der aktuellen Flash Player Version 9.0.124.0 von Adobe kann es beim Aufruf eines Webservices aus einer Flex-Anwendung heraus zu einer Verletzung der Sicherheitsrestriktionen des Flash Players kommen. Während der Aufruf in der Version 9.0.115.0 noch fehlerlos funktionierte, erhält man nun den folgenden Fehlercode im FaultEvent:

[FaultEvent fault=[RPC Fault faultString="Security error accessing url" ... ]]

Der Grund für den Fehler liegt in der unzureichenden Zugriffsdeklaration innerhalb der crossdomain.xml auf dem Server, der den Webservice anbietet. Das Problem wurde in etlichen Foren bereits diskutiert, der erste Lösungsansatz sah das Hinzufügen der folgenden Richtlinie in der crossdomain.xml vor:

<allow-http-request-headers-from domain="*" />

Dieser Zusatz alleine reicht allerdings nicht aus. Um den Zugriff auf einen SOAP-Webservice aus der Flex-Anwendung heraus wieder zu ermöglichen, ist es erforderlich,das headers -Attributs zu setzen. Die korrekte Richtlinie sieht innerhalb der crossdomain.xml dann wie folgt aus:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
	<allow-access-from domain="*" />
	<allow-http-request-headers-from domain="*" headers="SOAPAction" />
</cross-domain-policy>

Unbedingt zu beachten ist, dass durch das Setzen des domain -Attributes auf die Wildcard “*” natürlich der Zugriff sämtlicher Domains erlaubt wird. Soll der Zugriff eingeschränkt werden, muss das Attribut auf die Domain des Servers, der die Flex-Anwendung hostet, gesetzt werden.

Written by Carsten Schütz

Oktober 14th, 2008 at 4:57 pm