
Поток ошибок
Компонент потока передачи имеет поток ошибок для каждой исходной операции. Поток ошибок действует как уловитель для сообщений, посланных из любого несвязанного терминала ошибок в любом примитиве или узле в потоке запроса или ответа.
По умолчанию поток ошибок состоит из:
- Узел Вход ошибки, который имеет терминал catchAll и типом anyType. Узел Вход ошибки распространяет Объект служебного сообщения (SMO) из несвязанного терминала, который содержит информацию об ошибке.
- Узел Ответ входа для операций (запрос и ответ). Этот узел можно использовать для возврата сообщений из исходной операции.
- Узел Ошибка входа, созданный при определении в исходной операции сообщения о сбое WSDL. Узел Ошибка входа имеет входной терминал для каждого типа сообщений о сбое, определенного в исходной операции. Любое сообщение, отправленное в узел Ошибка входа, приводит к тому, что сообщение об ошибке WSDL возвращается из исходной операции.
Поток ошибок можно использовать для контроля над необработанными ошибками, которые могут возникнуть в потоках ответа или запроса операции. Например, можно использовать примитив передачи Протокол сообщений для захвата SMO, а затем связать примитив передачи Протокол с примитивом Ошибка.
Поток ошибок может использовать информацию, доступную в элементе failInfo SMO, и вернуть сообщение смоделированной ошибки. Для этого
можно в потоке ошибок сопоставить failureString из failInfo с
сообщением смоделированной ошибки и связать его с узлом Ошибка входа. См. Рис. 1.
Рис. 1. Пример потока ошибок для возврата смоделированной ошибки
