ZF-5382: Multiple calls seem to break Zend/Amf/Parse/Deserializer.php
Description
An AIR application I am working on makes a single call to two separate services. I get the following error:
PHP Fatal error: Uncaught exception 'Zend_Amf_Exception' with message 'Unable to parse null body data Unsupported type marker: 36' in /var/www/lib/Zend/Amf/Request.php:174 Stack trace:
0 /var/www/lib/Zend/Amf/Request.php(125): Zend_Amf_Request->readBody()
1 /var/www/lib/Zend/Amf/Request.php(93): Zend_Amf_Request->readMessage(Object(Zend_Amf_Parse_InputStream))
2 /var/www/lib/Zend/Amf/Request/Http.php(64): Zend_Amf_Request->initialize('????????null??/...')
3 /var/www/lib/Zend/Amf/Server.php(365): Zend_Amf_Request_Http->__construct()
4 /var/www/lib/Zend/Amf/Server.php(313): Zend_Amf_Server->getRequest()
5 /var/www/index.php(26): Zend_Amf_Server->handle()
6 {main}
thrown in /var/www/lib/Zend/Amf/Request.php on line 174
I'm using the Cairngorm framework, and the following two events, which result in requests to Zend AMF, cause this error to occur:
new DataSetEvent(DataSetEvent.GET_ALL).dispatch(); new SPIChartEvent().dispatch();
If I comment out either line so that only one request is sent at a time, the issue does not appear. Similarly, if I change the RemoteObject in my service locator from this:
to this:
the issue is again avoided. I am guessing that Flash is pipelining the calls into a single request and Zend's parser isn't expecting this. Not sure, I'm not an expert in AMF, just my guess.
Comments
Posted by Wade Arnold (wadearnold) on 2009-05-11T20:32:10.000+0000
Patrick can you please submit the smallest code example possible. I can not reproduce this issue.
Posted by Stefan Klug (stefanklug) on 2009-05-13T11:08:01.000+0000
This is solved by my patch in ZF-6393 If it's absolutely needed, I can provide a testcase...
Posted by Wade Arnold (wadearnold) on 2009-06-16T14:34:57.000+0000
Issue is dependent on ZF-6393
Posted by Wade Arnold (wadearnold) on 2009-06-16T14:53:51.000+0000
resolved by ZF-6393