未捕获的肥皂故障



我在尝试创建新的 SoapClient 时收到以下错误。

致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP 错误:解析 WSDL:无法从"https://api.mindbodyonline.com/0_5/ClassService.asmx?wsdl"加载:无法加载 C:\xampp\htdocs\Work\Ice\default\soaptest.php:8 中的外部实体"https://api.mindbodyonline.com/0_5/ClassService.asmx?wsdl" 堆栈跟踪:#0 C:\xampp\htdocs\Work\Ice\default\soaptest.php(

8): SoapClient->SoapClient('https://api.min...') #1 {main} 在 C:\xampp\htdocs\Work\Ice\default\soaptest.php 中抛出第 8 行

什么会导致 WSDL 无法加载?

php 中启用 openssl.ini则通过 https 加载 WSDL,这仅在启用 openssl 模块时有效。

不确定您是否是这种情况,

但如果您使用的是 Github 上的 Minbody API 上提供的 PHP 类,请注意他们最近更新了它们。我在classService.php上遇到了同样的问题。如果您使用的是 classService.php,请将构造函数更新为以下内容(同样适用于其他服务):

function __construct($debug = false)
{
    $endpointUrl = "https://" . GetApiHostname() . "/0_5/ClassService.asmx";
    $wsdlUrl = $endpointUrl . "?wsdl";
    $this->debug = $debug;
    $option = array();
    if ($debug)
        {
            $option = array('trace'=>1);
        }
    $this->client = new soapclient($wsdlUrl, $option);
    $this->client->__setLocation($endpointUrl);
}

最新更新