Я использую внешний файл config.xml, который находится на сервере.Мой swf / wrapper находится в корне, а конфиг находится в папке с именем 'config'.Вот код из моего текущего проекта, который использует эту конфигурацию:.
override protected function doStart() : void {
var xmlLoader : URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, result, false, EventPriority.DEFAULT_HANDLER, true);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, fault, false, EventPriority.DEFAULT_HANDLER, true);
xmlLoader.load(new URLRequest("config/config.xml"));
}
public function fault(info : *) : void {
error("Failed to load config file.");
trace("Error Loading Configuration");
}
public function result(data : Event) : void {
var xml : XML = new XML(data.target.data);
var settings : Object = XMLMapperUtil.mapAppSettingsModelFromXML(xml);
var appSettingsModel : AppSettingsModel = AppSettingsModel.getInstance();
ExObjectUtil.copyObjectProperties(appSettingsModel, settings);
var secureString : String = (appSettingsModel.serverProtocol == 'https') ? "secure" : "";
var firstURLSegment : String =
appSettingsModel.serverProtocol
+ "://"
+ appSettingsModel.serverIP
+ ":"
+ appSettingsModel.serverPort
+ "/FlexClient/messagebroker/";
var remotingURL : String = firstURLSegment + "amf" + secureString;
var messagingURL : String = firstURLSegment + secureString + "streamingamf";
var remotingChannelSet : ChannelSet = new ChannelSet();
var messagingChannelSet : ChannelSet = new ChannelSet();
if (appSettingsModel.serverProtocol == 'https') {
remotingChannelSet.addChannel(new SecureAMFChannel("my-secure-amf", remotingURL));
messagingChannelSet.addChannel(new SecureStreamingAMFChannel("my-secure-amf-stream", messagingURL));
}
else {
remotingChannelSet.addChannel(new AMFChannel("my-amf", remotingURL));
messagingChannelSet.addChannel(new StreamingAMFChannel("my-streaming-amf", messagingURL));
}
appSettingsModel.remoteObject_ChannelSet = remotingChannelSet;
appSettingsModel.messaging_ChannelSet = messagingChannelSet;
complete();
}
Моя функция результата использует XMLObjectMapper SpiceLab, функцию singleton и функцию копирования специальных свойств, чтобы получить настройки из XML в глобальный объект, которыйЯ могу использовать (appSettingsModel).Все, что вам действительно нужно, - это получить этот XML, разобрать его и создать несколько каналов с результатами.О, вот мой XML-файл:
<AppSettingsModelXML
serverIP = "123.123.123.123"
serverPort = "8080"
serverProtocol = "http"/>