Возврат кода ошибки служебной шины оракула
Я создаю прокси в Oracle Service Bus 11G для веб-службы. После получения запроса и когда ответ равен 200, все в порядке, OSB возвращает тот же код 200.
Теперь в моем WebService я поднимаю ошибку 400, 406, 403 и т. Д. В зависимости от некоторой логической обработки, но OSB всегда вызывает ошибку 500.
Есть ли способ заставить OSB переслать простой ответ, включая код ошибки?
Спасибо.
1 ответ
Добавить обработчик ошибок в бизнес-сервис
Извлечь переменные из data($fault//*:http-response-code)
а также data($fault//*:reason)
(или что-то подобное
Вставка:
<http:http-response-code>$response_code_variable</http:http-response-code>
как последнее дитя./ctx:transport/ctx:response
В переменной - $inbound
Вставка:
<tp:response-message>$response_reason_variable</tp:response-message>
после./ctx:transport/ctx:response/ctx:response-code
В переменной - $inbound