php - SOAP SDL 资源 ID #251

标签 php soap

我以前从未使用过 SOAP,当我打印出一个数组时,我得到了这个。有人可以告诉我它是否有效吗?我不确定 Resource 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
)

如果有人能帮助我,那就太好了。

最佳答案

很高兴您解决了问题。 无论如何,我继续弄清楚什么是 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

我不知道为什么我们可以将此资源视为公共(public)属性 SOAP_GLOBAL(sdl),因为它看起来无法被任何 PHP 函数读取。 它不在定义的列表中 resource typesSoap documentation明确表示扩展没有任何定义。

This extension has no resource types defined.

关于php - SOAP SDL 资源 ID #251,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41232734/

相关文章:

php - 组织的简单网站

php - Chrome 扩展程序无法从非事件选项卡中获取标题

java - 对 Java Web 服务框架的建议

delphi - 如何影响 URL 来访问已注册的 Delphi WebService

java - Tomcat 6 中未部署 Soap Web 服务

apache - 是否可以用 Apache 或 Nginx 重写 SOAP POST 请求主体?

php - 使用 MySQL 数据库填充 php 数组

php - 选择下拉列表中选择的名称

java - Gradle:由 gradle bootJar 任务创建的 jar 不起作用

php - 使用 strtotime() 和 date() 更改日期时间格式时导致特定日期时间的空值