I've set up a Flex project that uses the Zend Framework to communicate with a PHP webservice, and on my development machine, which is a Mac, it works fine. The framework was installed automatically by Flash Builder, and I've then added my services to that.
However when I go to upload this to the Windows server which will be hosting the live solution, I get an error message as follows:
faultCode = "Client.Error.DeliveryInDoubt"
faultDetail = "Channel disconnected before an acknowledgement was received"
I have updated the amf_conf.ini to point to the correct location for the services folder and the framework itself, and if I try to call a method which doesn't exist on the service then I get the following error:
faultDetail = "#0 C:\xampp\htdocs\PHPFrameworks\ZendFramework\library\Zend\Amf\Server.php(553): Zend_Amf_Server->_dispatch('test', Array, 'WebService')
#1 C:\xampp\htdocs\PHPFrameworks\ZendFramework\library\Zend\Amf\Server.php(629): Zend_Amf_Server->_handle(Object(Zend_Amf_Request_Http))
#2 C:\xampp\htdocs\gateway.php(69): Zend_Amf_Server->handle()
faultString = "Method "test" does not exist"
This suggests to me that the framework is running properly and is able to introspect the class, because it tells me that the method doesn't exist.
So I'm puzzled as to why this isn't working. It isn't an issue with connecting to the database as the 'test' method only returns a string - there is no logic besides a simple return.
I've tried including the Zend Framework path in the php.ini config, but I won't be able to do this on the live (hosted) server, but even so it didn't help.
Does anyone have any idea what could be causing this?