基本的PHP / SOAP错误,无法调试

时间:2014-03-11 13:37:54

标签: php soap

我目前正在使用一些非常简单的SOAP / PHP来度过非常沮丧的时光。我花了大约一个星期的时间尝试一切我能想到的,在不同版本的PHP的多个不同服务器上,它们仍然会抛出同样的错误。这是代码:

function test() {
    $client = new SoapClient('http://xxx', array("login" => "sandbox", "password" => "password"));

    print_r($client->__getFunctions());

    $ap_param = array();

    // it dies here. CheckServiceAvailable is a valid function returned in __getFunctions()
    $result = $client->__soapcall('CheckServiceAvailable', $ap_param);

    if (is_soap_fault($result)) {
        trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
    }
}

在错误捕获可以捕获任何内容之前它出错。 Apache日志显示与以下相同的错误:

Fatal error: Uncaught SoapFault exception: [s:Processing error] in C:\soap.php:13 Stack trace: #0 C:\soap.php(13): SoapClient->__soapCall('CheckServiceAva...', Array) #1 C:\soap.php(23): test() #2 {main} thrown in C:\soap.php on line 13

如果没有能够发现错误,我完全不知道该做什么。我真的不想尝试nusoap。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用:

try
{
  $result = $client->__soapcall('CheckServiceAvailable', $ap_param);
}
catch (SoapFault $e)
{
  echo "Cannot call method CheckServiceAvailable: {$e->getMessage()}";
}