8 Replies Latest reply on Sep 12, 2008 3:14 PM by sunwer

    https (ssl) configuration problem ?

    GaryThompson76
      Hi

      I've have FDS Working locally fine under Http,
      I'm trying to configure a server under https, both Flex-admin and the application work fine under
      Http, but under Https Flex-admin/console reports a RPC error - http Status 500,
      and the Application reports

      [RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL (null)"]
      at mx.rpc.soap::WSDLParser/::dispatchFault()
      at mx.rpc.soap::WSDLParser/ http://www.adobe.com/2006/flex/mx/internal::httpFaultHandler()
      at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()
      at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::faultHandler()
      at mx.rpc::Responder/fault()
      at mx.rpc::AsyncRequest/fault()
      at mx.messaging::ChannelSet/::faultPendingSends()
      at mx.messaging::ChannelSet/channelFaultHandler()
      at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at mx.messaging::Channel/mx.messaging:Channel::connectFailed()
      at mx.messaging.channels::PollingChannel/mx.messaging.channels:PollingChannel::connectFailed ()
      at mx.messaging.channels::AMFChannel/mx.messaging.channels:AMFChannel::statusHandler()


      anyone else had this problem ?
        • 1. Re: https (ssl) configuration problem ?
          aBill Level 1
          Hi,

          You're using MSIE and the server is returning HTTP response headers for no-cache or an expires header that is in the past. If so you can change the FDS channel-definition by adding a property <add-no-cache-headers>false</add-no-cache-headers> to the channel config?

          Or you’re trying to access an HTTPS resource when your app was loaded over HTTP? Also if you are using a self-signed certificate you may need to make a direct request in a browser first to tell the browser to accept it.

          Hope it help!

          William Chan

          • 2. https (ssl) configuration problem ?
            GaryThompson76 Level 1
            Hi Thanks for your response,

            I've added the <add-no-cache-headers>false</add-no-cache-headers> to my channel definations
            as below, but I'm still getting an error with the https access HELP!

            http://bertha.ad.hull.ac.uk:8080/flex-admin/

            https://bertha.ad.hull.ac.uk:8443/flex-admin/

            ------------------------------------------------------------------------------------------ --------------------------------------------
            <?xml version="1.0" encoding="UTF-8"?>
            <services-config>

            <services>
            <service-include file-path="remoting-config.xml" />
            <service-include file-path="proxy-config.xml" />
            <service-include file-path="messaging-config.xml" />
            <service-include file-path="data-management-config.xml" />
            </services>

            <security>
            <login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
            <!-- Uncomment the correct app server
            <login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
            <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
            <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
            -->
            <security-constraint id="basic-read-access">
            <auth-method>Basic</auth-method>
            <roles>
            <role>guests</role>
            <role>accountants</role>
            <role>employees</role>
            <role>managers</role>
            </roles>
            </security-constraint>
            </security>

            <channels>
            <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint uri=" http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
            <polling-enabled>false</polling-enabled>
            <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
            </channel-definition>

            <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
            <endpoint uri="https://{server.name}:9100/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
            <properties>
            <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
            </channel-definition>

            <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint uri=" http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
            <polling-enabled>true</polling-enabled>
            <polling-interval-seconds>8</polling-interval-seconds>
            </properties>
            <add-no-cache-headers>false</add-no-cache-headers>
            </channel-definition>

            <channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
            <endpoint uri="rtmp://{server.name}:2038" class="flex.messaging.endpoints.RTMPEndpoint"/>
            <properties>
            <idle-timeout-minutes>20</idle-timeout-minutes>
            <client-to-server-maxbps>100K</client-to-server-maxbps>
            <server-to-client-maxbps>100K</server-to-client-maxbps>
            <!-- for deployment on WebSphere, must be mapped to a WorkManager available in the web application's jndi context.
            <websphere-workmanager-jndi-name>java:comp/env/wm/MessagingWorkManager</websphere-workman ager-jndi-name>
            -->
            </properties>
            </channel-definition>

            <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
            <endpoint uri=" http://{server.name}:{server.port}/{context.root}/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
            <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 uri="https://{server.name}:9100/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
            <properties>
            <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
            </channel-definition>
            </channels>

            <logging>
            <target class="flex.messaging.log.ConsoleTarget" level="Error">
            <properties>
            <prefix>[Flex] </prefix>
            <includeDate>false</includeDate>
            <includeTime>false</includeTime>
            <includeLevel>false</includeLevel>
            <includeCategory>false</includeCategory>
            </properties>
            <filters>
            <pattern>Endpoint.*</pattern>
            <pattern>Service.*</pattern>
            <pattern>Configuration</pattern>
            </filters>
            </target>
            </logging>

            <system>
            <redeploy>
            <enabled>true</enabled>
            <watch-interval>20</watch-interval>
            <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
            <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
            </redeploy>
            </system>

            </services-config>
            • 3. Re: https (ssl) configuration problem ?
              aBill Level 1
              hi,

              Do you have your secure port number correct? Is it 9100 or 8443?
              https://bertha.ad.hull.ac.uk:8443/flex-admin/
              <endpoint uri="https://{server.name}:9100/{context.root}/messagebroker/httpsecure

              William Chan
              • 4. Re: https (ssl) configuration problem ?
                GaryThompson76 Level 1
                I've modified the Services-config.xml to use port 8443 instead of 9100 but still getting the same error message.

                The Installation is running under tomcat and has been setup by another department,
                the guy that set this up on port 8443, is there any other settings I need to change.

                I am also getting a different error message from the flex-admin area.

                https://bertha.ad.hull.ac.uk:8443/flex-admin/

                Error: [FaultEvent fault=[RPC Fault faultString="Send failed"
                faultCode"Client.Error.MessageSend" faultDetail="Channel.Connection.Failed error NetConnection.Call.BadVersion: "]


                Any Ideas.
                • 5. https (ssl) configuration problem ?
                  aBill Level 1
                  Hi,

                  Did you modify your destination to use your https channel? Or it is still using non-secure channel? Can I see your remoting-services.xml?

                  William Chan
                  • 6. Re: https (ssl) configuration problem ?
                    GaryThompson76 Level 1
                    the Application Works on http with the destination set in the proxy-config.xml
                    and it works if I connect Directly to the WebService under https.

                    So I guess I've missed some changes I needed to make, this is my destination from proxy-config.xml

                    <destination id="checkDetails">
                    <properties>
                    <wsdl> http://my.server.co.uk/GetStudent/checkDetails.asmx?WSDL</wsdl>
                    <soap> http://my.server.co.uk/GetStudent/checkDetails.asmx</soap>
                    </properties>

                    <adapter ref="soap-proxy"></adapter>
                    </destination>

                    -------------------------------------------------------------------------------Remoting-co nfig.xml
                    <?xml version="1.0" encoding="UTF-8"?>
                    <service id="remoting-service"
                    class="flex.messaging.services.RemotingService"
                    messageTypes="flex.messaging.messages.RemotingMessage">

                    <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>

                    </service>

                    Thanks for all your help .
                    • 7. Re: https (ssl) configuration problem ?
                      sivakishorereddy
                      Hi me too struggling with the same problem i.e. unable to load WSDL .............. I am running my application using default flex given in lcds. My services-config.xml looks like
                      <?xml version="1.0" encoding="UTF-8"?>
                      <services-config>

                      <services>
                      <service-include file-path="remoting-config.xml" />
                      <service-include file-path="proxy-config.xml" />
                      <service-include file-path="messaging-config.xml" />
                      <service-include file-path="data-management-config.xml" />
                      </services>

                      <security>
                      <login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>

                      <!-- Uncomment the correct app server
                      <login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
                      <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
                      <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
                      -->
                      <security-constraint id="basic-read-access">
                      <auth-method>Basic</auth-method>
                      <roles>
                      <role>guests</role>
                      <role>accountants</role>
                      <role>employees</role>
                      <role>managers</role>
                      </roles>
                      </security-constraint>
                      </security>

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

                      <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
                      <endpoint uri="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
                      <properties>
                      <!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
                      <add-no-cache-headers>false</add-no-cache-headers>
                      </properties>
                      </channel-definition>

                      <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
                      <endpoint uri=" http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
                      <properties>
                      <polling-enabled>true</polling-enabled>
                      <polling-interval-seconds>8</polling-interval-seconds>
                      </properties>
                      </channel-definition>

                      <channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
                      <endpoint uri="rtmp://{server.name}:2038" class="flex.messaging.endpoints.RTMPEndpoint"/>
                      <properties>
                      <idle-timeout-minutes>20</idle-timeout-minutes>
                      <client-to-server-maxbps>100K</client-to-server-maxbps>
                      <server-to-client-maxbps>100K</server-to-client-maxbps>
                      </properties>
                      </channel-definition>

                      <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
                      <endpoint uri=" http://{server.name}:{server.port}/{context.root}/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
                      <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 uri="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
                      <properties>
                      <!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
                      <add-no-cache-headers>false</add-no-cache-headers>
                      </properties>
                      </channel-definition>
                      </channels>

                      <logging>
                      <target class="flex.messaging.log.ConsoleTarget" level="Error">
                      <properties>
                      <prefix>[Flex] </prefix>
                      <includeDate>false</includeDate>
                      <includeTime>false</includeTime>
                      <includeLevel>false</includeLevel>
                      <includeCategory>false</includeCategory>
                      </properties>
                      <filters>
                      <pattern>Endpoint.*</pattern>
                      <pattern>Service.*</pattern>
                      <pattern>Configuration</pattern>
                      </filters>
                      </target>
                      </logging>

                      <system>
                      <redeploy>
                      <enabled>true</enabled>
                      <watch-interval>20</watch-interval>
                      <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
                      <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
                      <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
                      <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
                      <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
                      <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
                      </redeploy>
                      </system>

                      </services-config>
                      when i am running the same application without lcds i.e. normal wsdl file it is working fine. Plz help me....
                      • 8. Re: https (ssl) configuration problem ?
                        sunwer Level 1
                        sivakishorereddy, Thanks for sharing answer :)