我有一个基于nusoap的SOAP服务器和SOAP客户机。服务器可以很好地响应来自客户端的一些函数调用,但是它会在函数调用中抛出一个Application错误。我所犯的错误是:
Application Error SOAP method invocation (verifyT) failed: HTTP Error: cURL ERROR:: 56: SSL read: error:00000000:lib(0):func(0):reason(0), errno 54
url: https://www.blablabla.com/bla.php?wsdl
content_type: text/html; charset=iso-8859-1
http_code: 401
header_size: 504
request_size: 2196
filetime: -1
ssl_verify_result: 19
redirect_count: 1....................
我不知道哪里出了问题。对于每个SOAPServer函数,我都会捕获异常(包括PHP异常)并根据SOAP Server上的寄存器返回。
而且我已经被困在这个问题上一个多星期了,完全不知道该怎么办。
客户端代码:
$client = new nusoap_client("https://blabalbla.com/ws/index.php?wsdl");
$client->setCurlOption(CURLOPT_TIMEOUT, 1200);
$client->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
$err = $client->getError();
if ($err)
throw new Exception("Failed to initialise nusoap client");
$wsResult = $client->call('bla_function', $data);
$soapError = $client->getError();
if (!empty($soapError))
throw new Exception("SOAP method invocation (verifyT) failed:".$soapError);
if ($client->fault)
{
throw new Exception("{$client->faultcode}: {$client->faultdetail} ");
}
return $wsResult;