2012-03-04 70 views
0

我使用Zend AMF將我的遠程對象發送給Flex。Flex是反序列化來自Zend AMF的通用對象而不是嚴格鍵入的對象

我已經定義了一個Constant類並創建了getASClassName()方法。然後我在flex中創建了Action腳本類。

對象發送成功,但它們在Flex中反序列化爲通用Objects而不是特定的。

編輯:在Flex的網絡監視器上,我可以看到AMF值設置爲com.my.project.valueobjects.Constant。儘管來自event.result的數組包含Objects

我在做什麼錯?

類的腓聲明:在柔性

<?php 
namespace Project\Entity; 

class Constant 
{ 
    public $id; 

    public $name; 

    public $description; 

    public $value; 

    public function getASClassName(){ 
     return 'com.my.project.valueobjects.Constant'; 
    } 
} 

類定義:

從PHP對象的
$server = new Zend_Amf_Server(); 
$server = $server->setClass("AmfService"); 
$server->setClassMap("com.my.project.valueobjects.Constant", "Constant"); 

陣列(轉儲:

package com.my.project.valueobjects{ 

    [Bindable] 
    [RemoteClass(alias="Constant")] 
    public class Constant{ 
     public var id:Number; 
     public var name:String; 
     public var description:String; 
     public var value:String; 
    } 

的代碼在PHP處理AMF部分使用print_r製造):

[04-Mar-2012 14:23:08] Array 
(
    [0] => Project\Entity\Constant Object 
     (
      [id] => 1 
      [name] => name 
      [description] => desc 
      [value] => 5 
      [_explicitType] => com.my.project.valueobjects.Constant 
     ) 

回答

0

Flex/PHP遠程處理領域的另一個自我回答。

解決方案非常簡單 - 我需要在PHP端將com.my.project.valueobjects.Constant更改爲Constant,這就是一切。

希望這可以幫助未來的人。

相關問題