Hello,
I have notice a strange behave in Zend/Amf/Server.php, line 648:
$message = $body->getData();
Sometimes, after some requests mades from Flex module. the method getData
returns
a object instance of StdClass. On first Module Loaded, the $message is a
instance of
Zend_Amf_Value_Messaging_RemotingMessage.
Then, I added the following code, after line 648:
if ($message instanceof stdClass) {
$n = new Zend_Amf_Value_Messaging_RemotingMessage();
$n->source = $message->source;
$n->operation = $message->operation;
$n->headers = $message->headers;
$n->destination = $message->destination;
$n->messageId = $message->messageId;
$n->body = $message->body;
$n->clientId = $message->clientId;
$n->timestamp = $message->timestamp;
$n->timeToLive = $message->timeToLive;
$message = $n;
}
After that, I didin't received the error message: Method "null" does not
exist !
Everything is working well.
Maybe, there is a Flex RemoteObject request that ZF doesn't handle well.
Regards,
Douglas Pasqua
Douglas Pasqua wrote:
>
> Hello Guys,
>
> I have a flex module , named "Host", loaded by a item in a Tree. The
> module makes requests to
> a Zend_Amf_Server !
>
> The flex module has a init method where its make the connection to
> Zend_Amf_Server, loading
> a DataGrid and some LIST form components. On the first load of module,
> everything goes well.
> The DataGrid and the Lists form are Loaded successful!
>
> When I click in another item of Tree, changing the module, and then return
> back to the module
> "Host", loading the "Host" module again, I receive the message below: The
> same connection
> made a litte time ago with sucess, know it's fail.
>
> [RPC Fault faultString="Method "null" does not exist" faultCode="0"
> faultDetail="#0 /usr/share/php/Zend/Amf/Server.php(268):
> Zend_Amf_Server->_dispatch('null', Object(stdClass))
> #1 /usr/share/php/Zend/Amf/Server.php(322):
> Zend_Amf_Server->_handle(Object(Zend_Amf_Request_Http))
> #2
> /home/AGTECH/douglas.pasqua/public_html/agmonitor_dev/application/core/controllers/ServerController.php(44):
> Zend_Amf_Server->handle()
> #3 /usr/share/php/Zend/Controller/Action.php(503):
> ServerController->loadAction()
> #4 /usr/share/php/Zend/Controller/Dispatcher/Standard.php(285):
> Zend_Controller_Action->dispatch('loadAction')
> #5 /usr/share/php/Zend/Controller/Front.php(934):
> Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),
> Object(Zend_Controller_Response_Http))
> #6
> /home/AGTECH/douglas.pasqua/public_html/agmonitor_dev/application/library/Agtech/Bootstrap.php(217):
> Zend_Controller_Front->dispatch()
> #7
> /home/AGTECH/douglas.pasqua/public_html/agmonitor_dev/application/webapp/controller.php(25):
> Agtech_Bootstrap->dispatch()
> #8 {main}"]
> at
> mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:220]
> at
> mx.rpc::Responder/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:53]
> at
> mx.rpc::AsyncRequest/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
> at
> NetConnectionMessageResponder/statusHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:569]
> at
> mx.messaging::MessageResponder/status()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:222]
>
> The Server Controller, loadAction:
>
> $server = new Zend_Amf_Server();
> $server->setProduction(false);
>
> require_once dirname(__FILE__) . '/../Host/HostServer.php';
> require_once dirname(__FILE__) . '/../Host/agHost.php';
> $server->setClass('HostServer');
> $server->setClassMap('HostVO', 'agHost');
> $response = $server->handle();
> echo $response;
>
>
> Services-Config:
> <?xml version="1.0" encoding="UTF-8"?>
> <services-config>
>
> <services>
> <service id="zend-service" class="flex.messaging.services.RemotingService"
> messageTypes="flex.messaging.messages.RemotingMessage">
> <destination id="zend">
> <channels>
> <channel ref="zend-endpoint"/>
> </channels>
> <properties>
> <source>*</source>
> </properties>
> </destination>
> </service>
>
> </services>
>
>
> <channels>
> <channel-definition id="zend-endpoint"
> class="mx.messaging.channels.SecureAMFChannel">
> <endpoint uri="https://douglas.agtech.com.br/server/load"
> class="flex.messaging.endpoints.SecureAMFEndpoint"/>
> </channel-definition>
>
> </channels>
> </services-config>
>
> Regards,
>
> Douglas
>
>
--
View this message in context:
http://www.nabble.com/Zend_Amf%3A-Method-%22null%22-does-not-exist-tp21108518p21222284.html
Sent from the Zend Framework mailing list archive at Nabble.com.