Настройка нескольких типов каналов (AMF / AMFX) для Flex / BlazeD - PullRequest
1 голос
/ 16 марта 2010

Мы настроили наш клиент Flex на два канала для вызова наших услуг через BlazeDS.

Один канал настроен на использование AMFChannel, а другой для HTTPChannel. Вот службы-config.xml

          <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint url="http://{server.name}:{server.port}/{context.root}/data/messagebroker/amf"
        class="flex.messaging.endpoints.AMFEndpoint" />
            <properties>
               <polling-enabled>false</polling-enabled>
            </properties>
         </channel-definition>
         <channel-definition id="my-amfx" class="mx.messaging.channels.HTTPChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/data/messagebroker/amfx"
        class="flex.messaging.endpoints.HTTPEndpoint" />
            <properties>
               <polling-enabled>false</polling-enabled>
            </properties>
         </channel-definition>

Наш гибкий клиент написан для использования AMF или AMFX в зависимости от того, как мы его настроили. Проблема заключается в том, что, хотя клиент может переключаться между каналами, он отправляет двоичную полезную нагрузку AMF при попытке вызвать службы через AMFX (ожидая XML). Самое смешное, что мы можем написать services-config.xml для использования либо AMF, либо AMFX по отдельности, но, похоже, Flex не хочет, чтобы мы использовали оба. Это ошибка в Flex? Если нет, то как мы можем заставить его использовать правильный протокол?

1 Ответ

1 голос
/ 19 декабря 2012

Кажется, это ограничение Flex

Мой опыт показывает, что клиенты Flex могут использовать один и только один канал на сервере. Это не только ограничение AMF / XML, но также применяется к потоковым и опросным каналам.

...