0 Replies Latest reply: Jul 10, 2013 8:03 PM by Chonghua RSS

    How verify the message sent to my-secure-amf channel

    Chonghua

      Hi all,

       

      My problem is a bit odd.

      We built an application on RemoteObject + BlazeDS + Java EJB (JAAS required).

      There are two target deployment environments, WebSphere 7 and JBoss 5.1.0 GA and both environments work well under HTTP.

      Now we want to support HTTPS and we got a problem only happend to JBoss as following.

      • No matter what HTTPS port is used, FireFox could access the application without any issue.

      • IE8 only works fine when using default 443 as HTTPS port.

      • Debug mode could not work with HTTPS even default port 443.

      I have set the logger BlazeDS to Info level and information output in console when successfully accessing. When I set HTTPS port other than 443, there is no any output from BlazeDS.

       

      I have very concern about the client side not send proper message to correct port.

      I really appreciate that someone could tell me how to verify where message is sending.

       

      We have configured two channel my-amf and my-secure-amf and configured as default channels in remote-config.xml.

      service-config.xml
          <security>
              <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
              <login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss"/>
              <security-constraint id="web-access">
                  <auth-method>Custom</auth-method>
                  <roles>
                      <role>WebAccessor</role>
                  </roles>
              </security-constraint>
          </security>
          <channels>
              <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>
                      <polling-enabled>false</polling-enabled>
                      <!-- HTTPS requests don't work on IE when pragma "no-cache" headers are set. -->
                      <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>5</connect-timeout-seconds>
                      <login-after-disconnect>false</login-after-disconnect>
                      <invalidate-session-on-disconnect>true</invalidate-session-on-disconnect>
                      <serialization>
                          <ignore-property-errors>true</ignore-property-errors>
                          <log-property-errors>true</log-property-errors>
                      </serialization>
                  </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"/>
                  <properties>
                      <polling-enabled>false</polling-enabled>
                      <add-no-cache-headers>false</add-no-cache-headers>
                      <connect-timeout-seconds>10</connect-timeout-seconds>
                      <login-after-disconnect>false</login-after-disconnect>
                      <invalidate-session-on-disconnect>true</invalidate-session-on-disconnect>
                      <serialization>
                          <ignore-property-errors>true</ignore-property-errors>
                          <log-property-errors>true</log-property-errors>
                      </serialization>
                  </properties>
              </channel-definition>
              <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
                  <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
                  <properties>
                      <polling-enabled>true</polling-enabled>
                      <polling-interval-seconds>4</polling-interval-seconds>
                  </properties>
              </channel-definition>
          <channels>
      remote-config.xml
          <adapters>
              <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
          </adapters>
          <default-channels>
              <channel ref="my-amf"/>
              <channel ref="my-secure-amf"/>
          </default-channels>
          <!-- enable security for all service calls -->
          <default-security-constraint ref="web-access"/>