У меня сложное время, ловящее проблему аутентификации SoapClient. Когда мой код выполняется, Laravel заявляет, что он бросает ErrorException, но я не могу его поймать, независимо от того, какой код я использую. Я помещаю Laravel в случае, если какая-то магия происходит где-то, о чем я не знаю, потому что App :: error() еще раз вызовет эту ошибку.Ловля исключения при создании нового SoapClient правильно
try {
$client = new SoapClient(
$this->serviceUrl . $this->clients[$clientName],
array(
'login' => $this->username,
'password' => $this->password,
'exceptions' => true,
)
);
} catch (SoapFault $e) {
die('soapfault never fires!');
} catch (Exception $e) {
die('exception won\t t');
} catch (ErrorException $e) {
die('error exception also doesn\'t error');
}
Согласно Laravel, исключение ErrorException выбрасывается, но приведенный выше код не улавливает его.
ErrorException
SoapClient::SoapClient(https://control.akamai.com/nmrws/services/RealtimeReports?wsdl) [<a href='soapclient.soapclient'>soapclient.soapclient</a>]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized