Код ошибки в Datapower

Я использую сервис MPGW, который подключается к сервису CICS и возвращает ответ. Это мой поток. Пользовательский интерфейс -> DP MPGW gateway -> MPGW Service -> CICS service.

В случае ответа "Нет данных найдено" от CICS, я просто хочу установить код ошибки равным 100, а сообщение - "Данные не найдены" и перейти к пользовательскому интерфейсу. Но каждый раз datapower возвращает 500 Внутренняя ошибка сервера в пользовательский интерфейс.

Я использую errorHandler.xslt, чтобы проверить код ошибки из CICS и установить код ошибки и сообщение об ошибке.

Есть ли что-то, что мне нужно изменить dp:response-header('x-dp-response-code')? Если так, как это сделать?

Примечание: Ошибка Backend процесса: "Вкл." В MPGW(шлюз и служба).

2 ответа

Попробуй это:

Если в ответе содержится 500 не найденных ошибок. Сделайте dp:reject в правиле ответа. Это возьмет на себя ответственность за правило ошибки. В правиле ошибки настройте xslt и установите следующие значения:

<dp:set-variable name="'var://service/error-protocol-response'" value="'100'" /> <dp:set-variable name="'var://service/error-protocol-reason-phrase'" value="'No Data Found'" />

Согласно https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014432297 вы хотите:

В правиле ошибки:

Внутри правила ответа:

Это должно сделать трюк для MPGW, я верю.

Другие вопросы по тегам