I have been using RemoteObjects for quite a while now with AMFPHP.
Suddenly, I am getting the error:

Client.Error.DeliveryInDoubt Error
Channel disconnected

This error seems to crop up quite a bit but there has never been any
definitive answer as to why or what the fix is.

The particular RemoteObject call has been working fine and nothing has
been changed in the way that it is called from Flex. Other
RemoteObject calls still work as they did before.

I found a blog post at
http://www.sephiroth.it/weblog/archives/2007/10/amfphp_and_mbstring.php
that possibly explained the error but nothing in that post helped.

Using Charles and what I know about the way Flex sends HTTP data
(http://tech.groups.yahoo.com/group/flexcoders/message/113914) I see
Flex batch up a set of HTTP calls. First it sends an
flex.messaging.messages.CommandMessage with a value of 5; Then it
sends all the batched up flex.messaging.messages.RemotingMessage
messages with values that are the names of the functions to call on
the server.

Now, when the error occurs, the value of the
flex.messaging.messages.CommandMessage is 12. Looking at the AMFPHP
code (Actually in amfphp/core/amf/app/Actions.php) there is no
handling for a value of 12 so the message is not handled and the code
tries to load "Amf3Broker.php" which does not exist anywhere. This is
what generates the "Client.Error.DeliveryInDoubt Error".

The strange thing is that I have seen this CommandMessage of 12 in
Charles and the call has been successful.


Anyway, does anyone know why this error message is generated and how
to fix it?

Reply via email to