Php Zend_Soap_客户端如何获取结果complexType

Php Zend_Soap_客户端如何获取结果complexType,php,zend-framework,soap,wsdl,Php,Zend Framework,Soap,Wsdl,我试图调用一个Web服务,它的复杂类型被描述为输入和输出参数 <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> <s:element name="getTermsForService"> <s:complexType> <s:sequence> <s:ele

我试图调用一个Web服务,它的复杂类型被描述为输入和输出参数

<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
  <s:element name="getTermsForService">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="universalid" type="s:string" />
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:element name="getTermsForServiceResponse">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="getTermsForServiceResult" type="tns:ArrayOfString" />
      </s:sequence>
    </s:complexType>
  </s:element>
  <s:complexType name="ArrayOfString">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
    </s:sequence>
  </s:complexType>
</s:schema>
</wsdl:types>

但似乎不是。那么我该怎么做才能在答案中用字符串得到正确的结果呢…

实际上这很容易

$client = new Zend_Soap_Client($this->config->webserviceWsdlFile); 

try { 
   $result = $client->getTermsForService(array('universalid' => $_GET['universalid']);
   var_dump($result->getTermsForServiceResponse);
} catch (Exception $e) { 
// @TODO catch correctly 
   var_dump($e); 
}
给出了正确的结果:

object(stdClass)[123]
  public 'string' => 
    array
      0 => string '0815' (length=10)
      1 => string '0816' (length=10)
$client = new Zend_Soap_Client($this->config->webserviceWsdlFile); 

try { 
   $result = $client->getTermsForService(array('universalid' => $_GET['universalid']);
   var_dump($result->getTermsForServiceResponse);
} catch (Exception $e) { 
// @TODO catch correctly 
   var_dump($e); 
}
object(stdClass)[123]
  public 'string' => 
    array
      0 => string '0815' (length=10)
      1 => string '0816' (length=10)