Wie unterstützt sowohl HTTP-und HTTPS-Kanäle in Flex/BlazeDS?

Ich habe versucht zu finden, die richtige Konfiguration für die Unterstützung von http/s-Anfragen in eine Flex-app. Ich habe gelesen, alle docs und Anspielungen, um etwas zu tun, wie die folgenden:

<default-channels>
  <channel ref="my-secure-amf">
    <serialization>
      <log-property-errors>true</log-property-errors>
    </serialization>
  </channel>
  <channel ref="my-amf">
    <serialization>
      <log-property-errors>true</log-property-errors>
    </serialization>
  </channel>

Dies funktioniert gut, wenn man die app über https bekomme aber intermittierende Kommunikationsfehler, wenn man die gleiche app via http. Hier ist eine abgekürzte services-config.xml:

<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
      <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
                class="flex.messaging.endpoints.AMFEndpoint"/>
      <properties>
        <!-- HTTPS requests don't work on IE when pragma "no-cache" headers are set so you need to set the add-no-cache-headers property to false -->
        <add-no-cache-headers>false</add-no-cache-headers>
        <!-- Use to limit the client channel's connect attempt to the specified time interval. -->
        <connect-timeout-seconds>10</connect-timeout-seconds>
      </properties>
    </channel-definition>

    <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
      <!--<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>-->
      <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure"
                class="flex.messaging.endpoints.AMFEndpoint"/>
      <properties>
        <add-no-cache-headers>false</add-no-cache-headers>
        <connect-timeout-seconds>10</connect-timeout-seconds>
      </properties>
    </channel-definition>

Ich bin mit mit Tomcat 5.5.17 und Java 5.

  1. Die BlazeDS-docs sagen, das ist die beste Praxis. Gibt es einen besseren Weg?
  2. Mit dieser Konfiguration, es scheint zu sein, 2-3 Wiederholungen mit jeweils einer zugeordneten definierten Kanal in der default-Kanäle element, so dauert es immer ~20er Jahre, bevor die mein-amf-Kanal verbindet über eine http-Anforderung. Gibt es eine Möglichkeit, das überschreiben der 2-3 Wiederholungen, um zu sagen, 1 wiederholen Sie für jeden Kanal?

Dank im Voraus für die Antworten.

InformationsquelleAutor digitalsanctum | 2009-06-17

Schreibe einen Kommentar