1

我在许多其他参数中调用服务女巫需要一个条目,例如(取自soapUI):

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

如何让 Zend_Soap_Client 在 Key 元素中发送类型属性?

由于这只是一个相当大的服务的一部分,我一直在创建类来创建数据结构,例如:

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

class Body {
  public $ReadWorkerRequest;

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

但是,由于 PHP 失败,我什至没有发送请求,告诉我:“SOAP-ERROR:编码:对象没有'Key'属性”

所以我的问题是,我如何创建一个对象结构,可能将一个子部分创建为一个数组来尊重这一点?

或者对象结构是否正确,我需要使用classmap或SoapVar(我尝试了一些组合,但没有成功)

节日快乐,为那些拥有它们的人!:-)

4

1 回答 1

0

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

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

虽然它是一个非常讨厌的黑客。希望其他人可以提供更好的解决方案。

于 2012-01-16T08:53:12.730 回答