2010-01-26 1 views
1

Я использую Flex/Flash для создания пользовательского интерфейса, на котором работает мое серверное приложение Rails. Я использую WebORB как механизм связи. Однако мой вопрос должен применяться не только для WebORB. (Я думаю).Упрощение развертывания Flex в services-config.xml?

В частности, это связано с файлом services-config.xml. У меня есть локальная (ноутбук) среда разработки, удаленный разработчик и удаленная производственная среда. Мне больно редактировать URL-адрес в файле services-config.xml, перестраивать и развертывать каждый раз, когда я хочу протестировать в другой среде.

Есть ли у кого-нибудь идеи о том, как это сделать? Я думал, что я мог бы сделать следующее:

<channel-definition id="supremacy" class="mx.messaging.channels.AMFChannel"> 
     <endpoint uri="/weborb" class="flex.messaging.endpoints.AMFEndpoint"/> 
     <properties> 
      <polling-enabled>true</polling-enabled> 
     </properties> 
    </channel-definition> 

Устанавливая URI = «/ WebORB» и придавая ей относительный путь, я полагал, что это будет работать. И это происходит - локально - но это не происходит, когда я развертываю его в своих удаленных средах dev и prod (Heroku). Weird.

ответ

1

Вы можете упростить процесс, создав проект с помощью Ant. Например, вы можете создавать отдельные файлы services-config.xml для каждой среды, а затем создавать отдельные скрипты сборки для разных сред, автоматически выбирая соответствующий файл конфигурации.

1

Вы можете настроить службу при запуске приложения (так на основе конфигурационного файла)

Создание канала с amfEndpoint в виде строки

уаг ChannelSet: ChannelSet = новый ChannelSet();

var channel: NetConnectionChannel = null;

канал = новый AMFChannel ("my-amf", amfEndpoint);

channelSet.addChannel (канал);

Отдай к удаленному объекту

ServiceLocator.getInstance() getRemoteObject ("MYSERVICE") .channelSet = ChannelSet.

+0

Каким будет сервис-config.xml для этого? – HDave