powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ActionScript3 + HTTPS
2 сообщений из 2, страница 1 из 1
ActionScript3 + HTTPS
    #35980165
RHolmes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую.

Появилась неразрешимая пока собственными силами проблема.
Компонента (Flash CS4 + ActionScript 3) загружается с защищенной страницы (с незащищенной тот же результат) и делает запрос к вэб сервису в котором передает SOAP конверт и бинарные данные как отдельную часть запроса.

В результате ошибка:
Error #2044: Необработанный securityError:. text=Error #2170: Нарушение изолированной среды: https://localhost/folder/component.swf?tempID=1234567890&someNumber=1234567890&URL=https://somedomain2.somedomain.net:451/testing/SomeWebService&login=user123&password=passw123 не может отправить HTTP-заголовки в https://somedomain2.somedomain.net:451/testing/SomeWebService.

Запуск компоненты производился так же с того же домена, где установлен вэб-сервис. Настраивался crossdomain.xml для разрешения доступа со всех доменов.

Прошу помощи.

Код процедуры отправки:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
public function upload(url)
		{
            if (bmpdata)
			{
				// конвертирование кадра в JPEG
                encoder = new JPGEncoder(jpeg_quality);
                var ba: ByteArray = encoder.encode(bmpdata);
                
				// дата
				var dt: Date = new Date();
				var month: String = dt.month.toString();
				if (month.length ==  1 ) month = '0' + month;
				var day: String = dt.date.toString();
				if (day.length ==  1 ) day = '0' + day;
				var hr: String = dt.hours.toString();
				if (hr.length ==  1 ) hr = '0' + hr;
				var min: String = dt.minutes.toString();
				if (min.length ==  1 ) min = '0' + min;
				var sec: String = dt.seconds.toString();
				if (sec.length ==  1 ) sec = '0' + sec;
				var formattedDate: String = dt.fullYear + '-' + month + '-' + day + 'T' + hr + ':' + min + ':' + sec;
				
				// подготовка SOAP конверта
				var body: ByteArray = new ByteArray();
				body.writeUTFBytes(
					'\r\n' +
					'------=_Part_10_38335641.1233843675367\r\n' +
					'Content-Type: text/xml; charset=UTF-8\r\n' +
					'Content-Transfer-Encoding: 8bit\r\n' +
					'Content-ID: <rootpart@soapui.org>;\r\n' +
					'\r\n' +
					'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://somedomain.net/ws-client">\n' +
					'  <soapenv:Header/>\n' +
					'  <soapenv:Body>\n' +
					'    <ws:sendPhotoWithAttachmentToSave>\n' +
					'      <ws:tempPhotoID>' + tempID + '</ws:tempID>\n' +
					'      <ws:eyeCoordsLeftX>' + eyeCoordsLeftX.toString() + '</ws:eyeCoordsLeftX>\n' +
					'      <ws:eyeCoordsLeftY>' + eyeCoordsLeftY.toString() + '</ws:eyeCoordsLeftY>\n' +
					'      <ws:eyeCoordsRightX>' + eyeCoordsRightX.toString() + '</ws:eyeCoordsRightX>\n' +
					'      <ws:eyeCoordsRightY>' + eyeCoordsRightY.toString() + '</ws:eyeCoordsRightY>\n' +
					'      <ws:photoTakenTime>' + formattedDate + '</ws:photoTakenTime>\n' +
					'      <ws:photo href="cid:customer" />\n' +
					'    </ws:sendPhotoWithAttachmentToSave>\n' +
					'  </soapenv:Body>\n' +
					'</soapenv:Envelope>\r\n' +
					'------=_Part_10_38335641.1233843675367\r\n' +
					'Content-Type: image/jpeg\r\n' +
					'Content-Transfer-Encoding: binary\r\n' +
					'Content-ID: <customer>\r\n' +
					'\r\n');
				
				var body_e: ByteArray = new ByteArray();
				body_e.writeUTFBytes('\r\n------=_Part_10_38335641.1233843675367--');

				var req: ByteArray = new ByteArray();
				req.writeBytes(body);
				req.writeBytes(ba);
				req.writeBytes(body_e);
				
				// подготовка и отправка HTTP запроса
				try	
				{
					// данные авторизации
					var auth: String = Base64.encode(login + ':' + password);
					// запрос
					var urlRequest: URLRequest = new URLRequest(url);
                	urlRequest.method = URLRequestMethod.POST;
					// данные
					urlRequest.data = req;
                	// необходимые заголовки
					urlRequest.requestHeaders.push(new URLRequestHeader("SOAPAction", ""));
                	urlRequest.requestHeaders.push(new URLRequestHeader("Content-Type", 'multipart/related; type="text/xml"; start="<rootpart@soapui.org>;"; boundary="----=_Part_10_38335641.1233843675367"'));
					urlRequest.requestHeaders.push(new URLRequestHeader("MIME-Version", "1.0"));
					urlRequest.requestHeaders.push(new URLRequestHeader("Authorization", "Basic " + auth));
					// загрузчик
					var urlLoader = new URLLoader();
                	urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
                	urlLoader.addEventListener("complete", onLoaded);
                	urlLoader.addEventListener("ioError", ifFailed);
					// инициируем передачу
					urlLoader.load(urlRequest);
				}
				catch (e: Error)
				{
            		setStep('upload');
					ShowError('Ошибка при передаче\n' + e.message);
				}

			}
			else ShowError('Нет изображения для загрузки');
        }
...
Рейтинг: 0 / 0
ActionScript3 + HTTPS
    #35980193
RHolmes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл указать, при запуске компоненты с локального диска все работает (для этого в Flash Player Security Panel локальный диск был добавлен в список разрешенных чего-то там, для доступа к сети).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ActionScript3 + HTTPS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]