__soapCall什么也不返回

时间:2018-07-26 22:24:44

标签: php soap

我有以下功能:

public function query($sql)
{
    $query = array(
    "queryString"=>$sql
    );
    $queryWrapper = array(
    "query"=>$query
    );

    try {
        $result = $this->_client->__soapCall("query", $queryWrapper, null, $this->_header);
    } catch (SoapFault $e) {
      $this->_client->__getLastResponse();
    }
    return $result;
}

问题是我可以在var_dump('anything');exit;之前使用__soapCall(),并且看到“任何东西”。但是如果在var_dump('stuff');exit;之后__soapCall(),我只会得到一个空白页。我var_dump('something');exit;处于困境,但我没有看到。它仍然只是一个空白页。我的问题是,可能是什么原因造成的?我认为,如果查询中的表不存在,或者查询根本出了点问题,就会出现某种错误。但是我绝对要蹲下来。

1 个答案:

答案 0 :(得分:0)

我会尝试以下方案:

1。正确的例外

$this->_client是标准\SoapClient的实例吗?否则,您的catch可能会忽略其他异常。如果您使用的是PHP 7.0及更高版本,请尝试捕获\Throwable;如果使用的是旧版本,请尝试捕获\Exception

2。独立运行

如果问题仍然存在,最好将此功能与您的代码库隔离开来,然后尝试单独运行它。您甚至可以尝试使用3v4l之类的在线工具。

3。 Xdebug

如果仍然找不到原因,则最好使用xdebug跟踪问题。您可以在这里找到DockerPhpStorm的简单设置教程:https://medium.com/@pablofmorales/xdebug-with-docker-and-phpstorm-786da0d0fad2