Нарушение безопасности песочницы as3 с http://schemas.xmlsoap.org/soap/encoding/ - PullRequest
0 голосов
/ 10 ноября 2009

Я реализовал сервер веб-службы gSoap c ++ для доступа к Flash (as3). Все работает гладко, пока я локально проверяю .swf, .wsdl загружается нормально, и связь работает, даже если сервер работает внешний ip уже.

Но в тот момент, когда я подключил этот .swf к сети - в нем появляются нарушения безопасности песочницы, кричащие о стандарте - подобные схемы:

Error: [strict] Ignoring policy file at http://schemas.xmlsoap.org/crossdomain.xml 
due to incorrect syntax.  See http://www.adobe.com/go/strict_policy_files to fix this 
problem.

*** Security Sandbox Violation ***
Connection to http://schemas.xmlsoap.org/soap/encoding/ halted - not permitted from 
http://mydomain.com/main.swf
Error: Request for resource at http://schemas.xmlsoap.org/soap/encoding/ by requestor  
from http://mydomain.com/main.swf is denied due to lack of policy file 
permissions.

Может кто-нибудь помочь мне с этой проблемой?

Или, может быть, есть хороший способ определить один простой метод веб-сервиса (например, stringResult = команда (stringSessionId, stringCommand, stringParams, stringResult)) без загрузки .wsdl - файл? Если бы у меня была такая возможность, мне не пришлось бы спотыкаться об этой песочнице - прочее.

Любая помощь приветствуется.

Ответы [ 3 ]

1 голос
/ 10 ноября 2009

Файл междоменной политики отсутствует. Это должно быть в этом месте. Вы можете загрузить 'wsdl' с вашего локального компьютера, потому что ваша песочница является локальной доверенной (то есть наиболее удобной песочницей). Так что в настоящее время я не вижу способа сделать это во флэш-памяти, если в нужном месте нет файла междоменной политики.
Но вы можете попробовать Метод прокси на стороне сервера для загрузки wsdl.

0 голосов
/ 11 ноября 2009

Спасибо за комментарии. Настоящая проблема здесь заключается в том, что сгенерированный gSoap wsdl-файл пытается «получить доступ» к этим доменам повсеместно, так что междоменные вещи не в моих руках. В любом случае, я решил проблему сейчас, написав wsdl вручную, без всякого мега-раздувания wsdl gsoap, так что он просто получает доступ к доменам w3c. *, И они, очевидно, являются междоусобными. правый.

0 голосов
/ 10 ноября 2009

Flash не позволяет загружать контент с доменов, отличных от того, где размещен ваш SWF, если только эти домены не позволяют вам это делать. Удаленные домены могут разрешить SWF-файлам в вашем домене загружать контент с них, используя файл политики crossdomain.xml, размещенный в их корневом веб-каталоге.

Вот несколько примеров файлов политики: YouTube , Twitter . Чтобы узнать больше, перейдите по ссылке Adobe в файлах политики.

Сообщение об ошибке «игнорирование из-за неправильного синтаксиса» указывает, что файл политики присутствует там, но не правильно сформирован или имеет некоторые синтаксические ошибки. Но я ничего не могу найти в http://schemas.xmlsoap.org/crossdomain.xml.

Где находится ваш веб-сервис? Что вы пытаетесь загрузить с http://schemas.xmlsoap.org/soap/encoding/?

...