Изменения конфигурации для запуска приложения Adobe Flex на базе BLAZEDS на рабочем столе - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь запустить приложение Adobe Flex на основе вне браузера. Приложение компилируется с использованием файла 'services-config. xml' в качестве параметра. В файле services-config. xml каналы были настроены как

    <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
        <endpoint url="http://{server.host}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
        <properties>
            <add-no-cache-headers>false</add-no-cache-headers>
            <polling-enabled>true</polling-enabled>
            <polling-interval-millis>0</polling-interval-millis>
            <wait-interval-millis>-1</wait-interval-millis>
            <max-waiting-poll-requests>0</max-waiting-poll-requests>
        </properties>
    </channel-definition>

и т. Д. Для динамического выбора хоста и порта.

Теперь я скачал adobe_content_debugger.exe, который позволяет мне запускать файл .swf вне браузера. Однако все запросы к серверу go на http://localhost/contextRoot/messagebroker/amf. {Server.host} выбирается как localhost, а {server.port} - как пустое значение. Следовательно, я не могу взаимодействовать с внутренним сервером. Как мы можем преодолеть эту проблему?

Решения, которые я пытался ... 1) https://www.adobe.com/devnet/livecycle/articles/externalize_serviceconfig.html В этом посте вас попросят программно создать AMFChannel / channelset и добавить его в RemoteObject.

var channel:AMFChannel = new AMFChannel("my-amf", amfEndpoint);
channelSet.addChannel(channel);
_serviceControl.channelSet = channelSet;
_serviceControl.channelSet.addChannel(channel);

где _serviceControl - это удаленный объект. Но даже после этого запрос делается на http://localhost/contextRoot/messagebroker/amf. Я пробовал несколько комбинаций, но только напрасно. Будет ли программное создание channelSet делать настройки, исходящие из файла services-config, избыточными? Файл config-services ссылается на другие файлы, такие как «remoting-config. xml», «proxy-config. xml», «messaging-config. xml», в котором содержится информация о «destination»

. Решение 2) Измените services-config. xml на

    <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
        <endpoint url="http://example.com/8556/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
        <properties>
            <add-no-cache-headers>false</add-no-cache-headers>
            <polling-enabled>true</polling-enabled>
            <polling-interval-millis>0</polling-interval-millis>
            <wait-interval-millis>-1</wait-interval-millis>
            <max-waiting-poll-requests>0</max-waiting-poll-requests>
        </properties>
    </channel-definition>

Затем просто сопоставьте example.com с IP-адресом сервера в файле хоста. Это обходной путь, но теперь порт жестко запрограммирован и не может быть изменен. Если не введен прокси-сервер.

Может кто-нибудь помочь?

...