Для моего проекта Flash Builder 4.6 у меня определена служба http, которая просматривает URL-адрес нашего веб-сайта.
Что я хотел бы сделать, так это изменить URL-адрес веб-службы на лету в приложении. т. е. используя существующий URL-адрес по умолчанию, но имея экран администратора/настроек для изменения того, куда указывает веб-служба (хранится либо в нашей базе данных sqlite, либо в локальной памяти).
Это было бы сделано для того, чтобы мы могли позволить нашим клиентам размещать собственную версию веб-сайта/базы данных, но при этом иметь возможность использовать/загружать приложение через магазины приложений.
Кто-нибудь имел опыт в этом?
РЕДАКТИРОВАТЬ: добавление дополнительных деталей после комментариев ниже.
Когда я создал службу HTTP с помощью мастера FlashBuilder, он создает два класса веб-служб: суперкласс и подкласс, который наследуется от суперкласса. Весь код, который заполняет мастер, попадает в суперкласс.
Я могу предположить, что код, который мне нужно ввести, будет в подклассе. Но я не знаю, какую функцию я бы вставил и как.
Ниже приведен пример конструктора Super:
// initialize service control
_serviceControl = new mx.rpc.http.HTTPMultiService("websitehere");
var operations:Array = new Array();
var operation:mx.rpc.http.Operation;
var argsArray:Array;
operation = new mx.rpc.http.Operation(null, "loginRequest");
operation.url = "login.php";
operation.method = "GET";
argsArray = new Array("un","pw");
operation.argumentNames = argsArray;
operation.serializationFilter = serializer0;
operation.properties = new Object();
operation.properties["xPath"] = "/";
operation.contentType = "application/x-www-form-urlencoded";
operation.resultType = valueObjects.Data;
operations.push(operation);
_serviceControl.operationList = operations;
Я не уверен, какое свойство переменной _serviceControl мне нужно изменить.
Кроме того, когда я ищу свой веб-сайт в своем коде, он возвращает файл .fml внутри каталога .model, который, кажется, автоматически обновляется, если я изменяю URL-адрес службы с помощью мастера. Не вызовет ли это проблемы?
Затем у меня возникает проблема доступа к пользовательскому URL-адресу. В приложении мы используем базу данных sqlite для хранения данных, но я думаю, что, вероятно, было бы лучше использовать «SharedObject», который мы также используем, чтобы узнать, в какую учетную запись они вошли. Насколько это надежно? Я предполагаю, что смогу получить к этому доступ через Сервис?
Хотя неудобно то, что мы планировали настроить это на экране настроек, к которому можно было бы получить доступ после входа в систему. Но для входа в систему уже нужно было бы знать, на какой сервер указывать.