Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

https (ssl) configuration problem ?

Avatar

Level 2
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 ?
8 Replies

Avatar

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



Avatar

Level 2
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-workmanager-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>

Avatar

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

Avatar

Level 2
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.

Avatar

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

Avatar

Level 2
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-config.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 .
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....

Avatar

Level 1
sivakishorereddy, Thanks for sharing answer :)