Проблема с Ant Flex

Моя программа Cairngorm выполняет предварительную аутентификацию с помощью RemoteObject, прежде чем разрешить ServiceLocator Cairngorm начать использовать тот же RemoteObject для получения бизнес-данных. С Flex Builder все работает нормально, но мне нужна сборка Ant. Задача Ant mxmlc компилирует все нормально, но во время выполнения результирующий код дает сбой в методе getService () класса RemoteObjects Cairngorm, потому что он не может найти службу.

Возможно, это связано с тем, что код Cairngorm по-разному связан в компиляции, управляемой Ant? В файле, полученном из -dump-config (и этот файл в порядке, используется с mxmlc в командной строке) единственная ссылка на Cairngorm swc находится в этом элементе:

<library-path>
     <path-element>\path\to\directory\containing\Cairngorm.swc</path-element>
</library-path>

Соответствующий элемент в моем build.xml -

<compiler.library-path dir="${basedir}" append="true">
    <include name="libs"/>
</compiler.library-path>

Я не вижу ничего, что могло бы повлиять на то, как связан Cairngorm, кроме явной установки для static-link-runtime-shared-libraries значения true как в выводе FB, так и в моем build.xml. Возможно, моя теория связывания ошибочна? Но что еще могло привести к сбою удаленного доступа Cairngorm, когда доступ из другого места в том же SWF к тому же RemoteObject был нормальным?


person Maurice Naftalin    schedule 18.03.2009    source источник


Ответы (1)


Похоже, что в сборке ANT может отсутствовать флаг -services для компиляции в файле services-config.xml, который настраивает конечные точки RemoteObject.

В FlexBuilder просмотрите свойства проекта и перейдите на панель «Компилятор Flex». Вы должны увидеть поле «Дополнительные аргументы компилятора». Убедитесь, что эти же дополнительные аргументы переданы задаче компиляции ANT. Вы ищете что-то вроде "-services services-config.xml"

person darronschall    schedule 01.07.2009
comment
Спасибо за предложение - я вижу логику - но это не так. Аргумент -services, который я использую для задачи Ant, точно такой же, как в теге services файла гибкой конфигурации, который использует mxmlc. Но странно: компиляция через Ant не выдает ошибок, когда я указываю аргумент -services напрямую - просто не могу найти службу - но когда я удаляю ее, надеясь, что файл flex-config, который работал для mxmlc, будет работать для задачи Ant , в нем говорится, что он не может открыть / точно такой же / файл через flex-config, который он только что открыл напрямую. Еще одна особенность Ant-задачи? - person Maurice Naftalin; 27.07.2009