Если во время обработки возникает ошибка, ответ на сообщение SOAP является элементом ошибки SOAP в теле сообщения, и ошибка возвращается отправителю сообщения SOAP.
Механизм сбоя SOAP возвращает конкретную информацию об ошибке, включая предопределенный код, описание и адрес процессора SOAP, который сгенерировал сбой.
Указывает на заметку
-
Сообщение SOAP может содержать только один блок отказа.
-
Ошибка является необязательной частью сообщения SOAP.
-
Для привязки HTTP успешный ответ связан с диапазоном кодов состояния от 200 до 299.
-
Ошибка SOAP связана с диапазоном кодов состояния от 500 до 599.
Сообщение SOAP может содержать только один блок отказа.
Ошибка является необязательной частью сообщения SOAP.
Для привязки HTTP успешный ответ связан с диапазоном кодов состояния от 200 до 299.
Ошибка SOAP связана с диапазоном кодов состояния от 500 до 599.
Подэлементы неисправности
Ошибка SOAP имеет следующие подэлементы —
Sr.No | Подэлемент и описание |
---|---|
1 |
<faultCode> Это текстовый код, используемый для обозначения класса ошибок. В следующей таблице приведен список предопределенных кодов ошибок. |
2 |
<faultString> Это текстовое сообщение, объясняющее ошибку. |
3 |
<faultActor> Это текстовая строка, указывающая, кто вызвал ошибку. Это полезно, если сообщение SOAP проходит через несколько узлов в пути сообщения SOAP, и клиент должен знать, какой узел вызвал ошибку. Узел, который не действует как конечный пункт назначения, должен включать элемент faultActor . |
4 |
<подробно> Это элемент, используемый для передачи сообщений об ошибках приложения. Элемент detail может содержать дочерние элементы, называемые элементами detail. |
<faultCode>
Это текстовый код, используемый для обозначения класса ошибок. В следующей таблице приведен список предопределенных кодов ошибок.
<faultString>
Это текстовое сообщение, объясняющее ошибку.
<faultActor>
Это текстовая строка, указывающая, кто вызвал ошибку. Это полезно, если сообщение SOAP проходит через несколько узлов в пути сообщения SOAP, и клиент должен знать, какой узел вызвал ошибку. Узел, который не действует как конечный пункт назначения, должен включать элемент faultActor .
<подробно>
Это элемент, используемый для передачи сообщений об ошибках приложения. Элемент detail может содержать дочерние элементы, называемые элементами detail.
Коды ошибок SOAP
Определенные ниже значения faultCode должны использоваться в элементе faultcode при описании неисправностей.
Sr.No | Ошибка и описание |
---|---|
1 |
SOAP-ENV: VersionMismatch Обнаружено недопустимое пространство имен для элемента конверта SOAP. |
2 |
SOAP-ENV: MustUnderstand Непосредственный дочерний элемент элемента Header с атрибутом mustUnderstand, установленным в «1», не был понят. |
3 |
SOAP-ENV: Клиент Сообщение было неправильно сформировано или содержало неверную информацию. |
4 |
SOAP-ENV: Сервер Возникла проблема с сервером, поэтому сообщение не удалось продолжить. |
SOAP-ENV: VersionMismatch
Обнаружено недопустимое пространство имен для элемента конверта SOAP.
SOAP-ENV: MustUnderstand
Непосредственный дочерний элемент элемента Header с атрибутом mustUnderstand, установленным в «1», не был понят.
SOAP-ENV: Клиент
Сообщение было неправильно сформировано или содержало неверную информацию.
SOAP-ENV: Сервер
Возникла проблема с сервером, поэтому сообщение не удалось продолжить.
Пример ошибки SOAP
Следующий код является примером неисправности. Клиент запросил метод с именем ValidateCreditCard , но служба не поддерживает такой метод. Это представляет ошибку запроса клиента, и сервер возвращает следующий ответ SOAP —