Php Zend_Soap_客户端如何获取结果complexType
我试图调用一个Web服务,它的复杂类型被描述为输入和输出参数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
<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)