2011-12-20 82 views
1

我打电话许多其它参数之间的服务女巫元素属性的SOAP请求需要像一个条目(从soapUI的获取):创建使用Zend_Soap_Client和stdObject

<v110:ReadWorkerRequest> 
    <v111:Key v111:type="INITIALS">RKM</v111:Key> 
    </v110:ReadWorkerRequest> 

如何获得Zend_Soap_Client送Key元素中的type-attribute?

由于这仅仅是一个相当大的服务的一部分,我已经创建类来创建数据结构,如:

class Key { 
    public $_ = 'RKM; 
    public $type = 'INITIALS'; 
} 

class Body { 
    public $ReadWorkerRequest; 

    public function __construct() { 
    $this->ReadWorkerRequest = new Key(); 
    } 
} 

不过,我甚至不获得为PHP失败发送请求,告诉我:“SOAP错误:编码:对象没有”钥匙“财产”

所以我的问题是,我如何创建一个对象结构,可能与创建一个数组,将荣誉这个?

或者是对象结构正确的,我需要使用类映射或SoapVar(我尝试了一些组合,但不与任何成功)

节日快乐,对于那些你谁拥有这些! :-)

回答

0

我花了很多时间试图自己解决这个问题,但我能想出的最好是使用XSD_ANYXML破解,例如:

$this->ReadWorkerRequest = new SoapVar('<v111:Key v111:type="INITIALS">RKM</v111:Key>', XSD_ANYXML); 

它是一个非常讨厌的劈虽然。希望别人能提供更好的解决方案。