我之前从未使用过SOAP,而且当我打印出一个数组时,我得到了这个。有人能告诉我它是否正常工作?我不确定资源ID代表什么,我找不到答案..
$this->client = new SoapClient("https://api.cvent.com/soap/V200611.ASMX?WSDL", array('trace' => true, 'exceptions' => true));
echo '<pre>';print_r($this->client);echo '</pre>';
SoapClient Object
(
[trace] => 1
[_soap_version] => 1
[sdl] => Resource id #251
)
如果有人能帮助我,那就太好了。
答案 0 :(得分:0)
很高兴您解决了您的问题。 无论如何,我还是想弄清楚 sdl 是什么以及如何使用它。
我检查了 SOAP 扩展源代码,看起来资源代表已解析和解释的 WSDL,它在内部用于几乎所有 SoapClient 方法来查找和返回定义数据。
#L379 le_sdl = zend_register_list_destructors_ex(delete_sdl_res, NULL, "SOAP SDL", module_number);
le_sdl
的类型是 sdlPtr(服务定义语言指针?),并且在整个过程中都被引用。
https://github.com/php/php-src/blob/7bbc85f16ac7b54b3cdbadc787518aed33369b7e/ext/soap/soap.c
我不知道为什么我们可以将此资源视为公共属性 SOAP_GLOBAL(sdl)
,因为它看起来不能被任何 PHP 函数读取。
它不在已定义的 resource types 列表中,而 Soap documentation 明确表示该扩展没有任何已定义。
这个扩展没有定义资源类型。