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.
- Die BlazeDS-docs sagen, das ist die beste Praxis. Gibt es einen besseren Weg?
- 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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe http und https arbeiten, obwohl ich nur getestet auf Firefox und IE7. Bisher bin ich nur mit BlazeDS für remoting. Hier ist mein set up:
Sie nicht geben Sie die app-server, die Sie verwenden; es kann ein Problem sein. Ich hatte einige Probleme beim Wechsel von HTTPS zu HTTP (secure-Anmeldungen) unter Tomcat. Eine Sache, die ich Tat, um zu beheben war installieren Jetty und es dort probieren. Ich hatte es nie benutzt, bevor, aber es war sehr schnell aufgebaut und bereitstellen, auch durch Eclipse. Ich dann wusste, ich hatte einen Tomcat-spezifische-problem, die Suche nach einer Lösung erleichtern (ich meine hier möglich).
InformationsquelleAutor Philip
Dieser fuhr uns auch Nüsse. Um es zu lösen machen die http - (mein-amf) zunächst in die Standard-Kanäle tag und dann https (mein-secure-amf)
InformationsquelleAutor Java Bug
Wenn die Ziele, die die Verwendung von http und https sind verschiedene Ziel-definieren Sie die Kanäle, um für das Ziel.Zum Beispiel mySecureDestination und myDestination sind zwei unterschiedliche Ziele. Für mySecureDestination :
und für nicht sichere http-Kanal
InformationsquelleAutor maniacneron