The first Parameter of the constructor, the faultcode, of SoapFault must be a string. Otherwise it will lead to an error.
<?php
throw new SoapFault(1, "Error message!"); // wrong
throw new SoapFault("1", "Error message!"); // right
?>(PHP 5, PHP 7, PHP 8)
SoapFault::__construct — Инициализирует объект SoapFault
$code,$string,$actor = null,$details = null,$name = null,$headerFault = null,$lang = ""
Метод инициализирует объект SOAP-ошибки, на основе которого PHP-обработчик серверной части сообщает о сбое.
Параметры faultcode, faultstring,
faultactor и detail —
стандартные элементы SOAP-ошибки.
faultcodeКод ошибки для объекта SoapFault.
faultstringСообщение об ошибке для объекта SoapFault.
faultactorСтрока идентификации участника, который сгенерировал ошибку.
detailПодробности о причинах ошибки.
faultnameНазвание, которое указывает клиенту тип и структуру ошибки в WSDL-описании.
headerfaultПараметр указывают, чтобы об ошибках в заголовках запроса сообщить в SOAP-заголовке ответа.
lang| Версия | Описание |
|---|---|
| 8.5.0 |
В метод добавили необязательный параметр lang,
чтобы объект ошибки соответствовал спецификации протокола SOAP 1.2.
|
Пример #1 Примеры
<?php
function test($x)
{
return new SoapFault("Server", "Сообщение об ошибке");
}
$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();SOAP-ошибки обрабатывают через механизм исключений PHP.
Пример #2 Несколько примеров
<?php
function test($x)
{
throw new SoapFault("Server", "Some error message");
}
$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
The first Parameter of the constructor, the faultcode, of SoapFault must be a string. Otherwise it will lead to an error.
<?php
throw new SoapFault(1, "Error message!"); // wrong
throw new SoapFault("1", "Error message!"); // right
?>