Hi laurent,
We are using Flex remoting-service (flex.messaging.services.RemotingService) which is also mentioned in the samples in SDK for getting some large data from java services for a specific call in our plugin code.
Sometimes there is error occurs:
“Error in getting Server Information: faultCode:Client.Error.DeliveryInDoubt faultString:'Channel disconnected' faultDetail:'Channel disconnected before an acknowledgement was received'”
Usually it comes when prior to response comes for a java sevice call from flex, user navigate to other page in web-client UI.
Note:
Error comes only when user tries to navigate to other page before the response/data comes from that particular remote call.
Below are the solutions we tried to resolve the issue:
- 1)
Using Parameters in service-config.xml for channel definition
- <add-no-cache-headers>false</add-no-cache-headers>
- <connect-timeout-seconds>10000</connect-timeout-seconds>
- <polling-enabled>false</polling-enabled>
After using above parameters my channel definition looks like:
----------------------------------------------------------------------------
<channels>
<channel-definitionid="secure-amf"class="mx.messaging.channels.SecureAMFChannel">
<endpoint
url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure"
class="flex.messaging.endpoints.SecureAMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
<connect-timeout-seconds>10000</connect-timeout-seconds>
<polling-enabled>false</polling-enabled>
<serialization>
<instantiate-types>false</instantiate-types>
</serialization>
</properties>
</channel-definition>
<channel-definitionid="amf"class="mx.messaging.channels.AMFChannel">
<endpoint
url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
<connect-timeout-seconds>10000</connect-timeout-seconds>
<polling-enabled>false</polling-enabled>
<serialization>
<instantiate-types>false</instantiate-types>
</serialization>
</properties>
</channel-definition>
</channels>
--------------------------------------------------------------------
- 2)
Other solution we tried to introduce crossdomain.xml.
As per VMware vSphere Documentation we tried suggested optional element in plugin Module manifest WsecurityPolicyUri as well for introducing crossdomain.xml.
However none of above solution solves the issue and I still get the error.
Can you suggest us the best or recommended solution for such situation as per web-client plugin development.