Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Https as3 header (http://www.flasher.ru/forum/showthread.php?t=128738)

Dim4 16.08.2009 11:41

Https as3 header
 
есть задача послать Xml на https://api.sandbox.ebay.com/ws/api.dll котоый возвращает другую xml
но есть условие что в Header должно содержаться

Код AS1/AS2:

 Content-Type", "text/xml"
 "X-EBAY-API-COMPATIBILITY-LEVEL", "551"
 "X-EBAY-API-DEV-NAME", DevID
 "X-EBAY-API-APP-NAME", AppID
 "X-EBAY-API-CERT-NAME", CertID
 "X-EBAY-API-CALL-NAME", "AddItem"
 "X-EBAY-API-SITEID", "0"

пробовал
Код AS1/AS2:

 var request:URLRequest = new URLRequest("https://api.sandbox.ebay.com/ws/api.dll");  
var rhArray:Array = new Array();
rhArray.push(new URLRequestHeader("X-EBAY-API-COMPATIBILITY-LEVEL", "551"));
rhArray.push(new URLRequestHeader("Content-Type", "text/html"));
rhArray.push(new URLRequestHeader( "X-EBAY-API-DEV-NAME",DevID ));
rhArray.push(new URLRequestHeader("X-EBAY-API-APP-NAME", AppID ));
rhArray.push(new URLRequestHeader( "X-EBAY-API-CERT-NAME", CertID ));
rhArray.push(new URLRequestHeader( "X-EBAY-API-CALL-NAME", "AddItem"));
rhArray.push(new URLRequestHeader(  "X-EBAY-API-SITEID","0"));
request.requestHeaders = rhArray;
 
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, completeHandler3);
var variabl:URLVariables = new URLVariables();
variabl.AddItem = Xml;
request.data = variabl;                 
request.method = URLRequestMethod.POST;

глубокий анализ показал что из браузера запрос не посылаеться .если запустить отдельно флешку то запросы идут. я обращаюсь к скриптам на том же сервере где флеш она их прекрастно видит.я проверял спомощью naviscope флешка даже ничего не посылает на сервер(запроса так такого нет).

cleptoman 16.08.2009 13:18

думаю вот это посмотреть нужно:
allowInsecureDomain()

Dim4 16.08.2009 15:06

сделал вот так
Код AS1/AS2:

Security.loadPolicyFile("https://api.ebay.com/crossdomain.xml"); 
Security.allowInsecureDomain("*");
Security.allowDomain("*");
var urlRequest = new URLRequest("https://api.ebay.com/ws/api.dll");
 
urlRequest.requestHeaders = [
new URLRequestHeader("X-EBAY-API-COMPATIBILITY-LEVEL", "459"),
new URLRequestHeader("X-EBAY-API-DEV-NAME", "4f22fc6d-994e-4fda-9d75-e569c0c64232"),
new URLRequestHeader("X-EBAY-API-APP-NAME", "LaurentW-3bd3-4c82-beb6-303ab392bcb9"),
new URLRequestHeader("X-EBAY-API-CERT-NAME", "87eb1c11-415e-443e-a7f8-30c21f3f5058"),
new URLRequestHeader("X-EBAY-API-SITEID", "0"),
new URLRequestHeader("X-EBAY-API-CALL-NAME", "GeteBayOfficialTime"),
new URLRequestHeader('Content-Type', 'test/xml')
 ] 
var loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, this.test_complete);
loader.addEventListener(IOErrorEvent.IO_ERROR, this.test_ioError);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.test_securityError);
urlRequest.data = '<?xml version="1.0" encoding="utf-8"?>' + Xml.toXMLString();
urlRequest.method = URLRequestMethod.POST;
loader.load(urlRequest);     
}
private function test_complete(iEvent) {
        parentClass.D.text = "SUCCESS";
}
 
private function test_ioError(iEvent) {
        parentClass.D.text = "IO ERROR";
} 
 
private function test_securityError(iEvent) {
        parentClass.D.text = "SECURITY ERROR";
}

пишет что SECURITY ERROR не знаю что и делать

wvxvw 16.08.2009 16:59

Код AS3:

Security.allowInsecureDomain("*");
Security.allowDomain("*");

Не нужны - это вообще гвоздь от другой стенки.

Посмотрите, что у вас в HTML в allowScriptAccess написано.
А еще, Ebay отдает crossdomain.xml старого образца - это тоже может быть проблематично, особенно если ваша страничка содержащая флеш грузится без сертификата. Попробуйте какую-нибудь более раннюю версию плеера и посмотрите, работает ли.
Да, ну и конечно, проверте разрешено ли вашей HTML странице, на которой вы тестируете, ходить в интернет.
Проверять тут: http://www.macromedia.com/support/do...manager04.html

ЗЫ: У функций должен быть тип, у аргументов функций должен быть тип. Переменные / свойства / методы - со строчной!

alekslitvinenk 16.08.2009 17:30

Вобще-то, судя по crossdomain.xml, то ваша флешка обязательно должна находиться на https домене.
И в файле отсутствует таг <allow-http-request-headers-from>

Dim4 16.08.2009 18:43

посмотрел allowScriptAccess = "always"
да разрешен выход в интеренет. я проверил изменил с
Код AS1/AS2:

https://api.ebay.com/ws/api.dll

на
Код AS1/AS2:

http://api.ebay.com/ws/api.dll

и сразу же видно что флешка обращаеться к ebay
а если https то он даже не пытаеться (запроса даже нет)
насчет старой версии плеера я не знаю как As2 написать да и у меня клиент на As3
проверил на бесплатном хостинге то же самое пишет SECURITY ERROR

wvxvw 16.08.2009 19:10

Цитата:

Сообщение от alekslitvinenk (Сообщение 843147)
Вобще-то, судя по crossdomain.xml, то ваша флешка обязательно должна находиться на https домене.
И в файле отсутствует таг <allow-http-request-headers-from>

По-моему в 9.115 это было не обязательно, и только ворнинг выдавался. Но я могу ошибаться.

alekslitvinenk 16.08.2009 19:59

Вы правы, <allow-http-request-headers-from> появился только в 9.124...
http://www.adobe.com/devnet/articles...ort-by-version

Dim4 17.08.2009 02:16

народ может кто нибудь скажет как мне выйти из этой ситуации:). очень надо :rolleyes:

alekslitvinenk 17.08.2009 03:14

попробуйте тестировать под 8-кой или ранними версиями 9-ки...

Добавлено через 1 минуту
http://kb2.adobe.com/cps/142/tn_14266.html

Добавлено через 8 минут
хотя...
http://ebay.com/crossdomain.xml
вы xml этот видели :)
там только с определенных доменов разрешен доступ...

Добавлено через 18 минут
короче, как я понял для http://... у ebay есть один мастер файл политики... но он разрешает доступ только для флешек с узко-ограниченного списка доменов.
у https:// под 9-ым плеером можно грузить файлы политик с любого места, но доступ открыт только если флешка которая пытается получить доступ к ebay находиться на https:// домене
вот и все.


Часовой пояс GMT +4, время: 21:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.