我在许多其他参数中调用服务女巫需要一个条目(取自soapUI):
<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-ERROR:编码:对象没有'Key'属性”
所以我的问题是,如何创建一个对象结构,可能有一个子组件创建为一个会尊重这个的数组?
或者对象结构是否正确,我需要使用classmap或SoapVar(我尝试了一些组合,但没有取得任何成功)
节日快乐,对于那些拥有它们的人来说! : - )
答案 0 :(得分:0)
我花了很多时间试图解决这个问题,但我能想到的最好的就是使用XSD_ANYXML黑客,例如:
$this->ReadWorkerRequest = new SoapVar( '<v111:Key v111:type="INITIALS">RKM</v111:Key>', XSD_ANYXML );
虽然这是一个非常讨厌的黑客。希望其他人可以提供更好的解决方案。