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.

Reply via email to