6 Replies Latest reply on Jul 5, 2010 3:04 AM by Umal Kumar

    RSL Error with HTTPS

    Agraj@ST

      Hello,

       

      I have developed a Flex 3 Application and when deploying with RSL on HTTP environment, everything seems to be fine and the application loading time is drastically reduced. But, when I follow the same steps to deploy the same application over HTTPS making necessary changes required for switching from HTTP to HTTPS, application initialization fails with the following error:

       

      TypeError: Error #1090: XML parser failure: element is malformed.

              at mx.messaging.channels::HTTPChannel/decodePacket()

              at mx.messaging.channels::HTTPChannel/pingCompleteHandler()

              at ChannelRequestLoader/callEventCallback()

              at ChannelRequestLoader/completeHandler()

              at flash.events::EventDispatcher/dispatchEventFunction()

              at flash.events::EventDispatcher/dispatchEvent()

              at flash.net::URLLoader/onComplete()

       

      I guess somewhere my HTTP settings are still intact and I have not changed them that's why its still giving me HTTP channel error

       

      In my application, I have made following changes to deploy the application on HTTPS:

       

      1. Change the flex server setting by going into Project Properties

       

      2. Change the HTTP channel to HTTPS channels in services-config.xml as shown below:

       

      <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.AMFEndpoint"/>

         <properties>

            <add-no-cache-headers>false</add-no-cache-headers>

         </properties>

      </channel-definition>

       

      <channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">

        <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure"

             class="flex.messaging.endpoints.HTTPEndpoint"/>

        <properties>

           <add-no-cache-headers>false</add-no-cache-headers>

        </properties>

      </channel-definition>

       

      3.  Changed the remoting-config file to reflect channel changes made above

       

         <default-channels>

              <channel ref="my-http"/>

              <channel ref="my-amf"/>

         </default-channels>

       

      Can you please let me know what I'm missing here ??

       

      Thanks for your help.

       

      Best Regards,

      Agraj

        • 1. Re: RSL Error with HTTPS
          Agraj@ST Level 1

          Hello Again,

           

          Just wanted to add more to the original description: The application works pretty fine on HTTPS also when I deploy it without RSL.

          • 2. Re: RSL Error with HTTPS
            Umal Kumar Adobe Employee

            Hi, I would like you to check the blog entry for accessing flex application using http or https and connecting the backend using http or https.

             

            I think there is a issue with the class definition which you are using. Although your issue is bit different from this but this is a additional step.

             

            http://blogs.adobe.com/lin/archives/flex/security/

             

            you have to use the secureAMFENDPoint and secureHTTPEndpoint in the class when you are connecting the backend using https.

             

            Now the RSL issue which you are having. When you are using RSL what all swc are including to make it RSL. I searched some Flex documentation and get this

             

            http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_09.html

             

            Let me know how this goes.

            1 person found this helpful
            • 3. Re: RSL Error with HTTPS
              Agraj@ST Level 1

              Hi FlexingUKB,

               

              Thanks for replying and providing me with wonderful links

               

              My problem is solved now but strangely I did not made any change in my settings. I'm still using AMFEndpoint and HTTPEndpoint instead of SecureAMFEndpoint and SecureHTTPEndpoint because my application is deployed over HTTPS but uses HTTP at the backend to make java calls.

               

              The only change I made to make it work was to restart JBoss. Earlier, I was not restarting server just redeploying application after putting the new WAR. But I Still don't know what difference that makes.

               

              Thanks & Regards,

              Agraj

              • 4. Re: RSL Error with HTTPS
                Umal Kumar Adobe Employee

                I don't think that is required, restarting the jboss as redeploying the war is enough. The reason is unknown to me but may be certain settings are pending which required jboss restart. It is good that the issue is resolved. Can you let me know the swc files for which you used rsl?

                1 person found this helpful
                • 5. Re: RSL Error with HTTPS
                  Agraj@ST Level 1

                  Hi,

                   

                  I'm using following SWC files (have not changed anything in this). This setting was by default :

                   

                  • playerglobal.swc
                  • automation.swc
                  • automation_agent.swc
                  • automation_dmv.swc
                  • automation_flashflexkit.swc
                  • datavisualization.swc
                  • flex.swc
                  • framework.swc
                  • qtp.swc
                  • rpc.swc
                  • utilities.swc

                   

                  Do I need to change/remove any one or more of them to get lesser size and improved performance ?

                   

                  Best Regards

                  Agraj

                  • 6. Re: RSL Error with HTTPS
                    Umal Kumar Adobe Employee

                    The issue and root cause of slow loading of the application is automation swc files which are included in your librarary. If you see your compiler arguments you can see the include-libraries argument which will be pointing to the automation swc files. Now these files are used to make the application testing enabled using QTP tool. In production the automation swc are not needed.