Заголовок обработки ошибок последовательности ошибок Wso2 - PullRequest
0 голосов
/ 27 ноября 2018

В настоящее время я разрабатываю API, который отправит запрос конечной точке и ответит клиенту.

В последовательности ошибок я буду регистрировать код ошибки и сообщение об ошибке с помощью посредника makefault,Все нормально работает с кодом ошибки и регистрацией сообщений.Просто HTTP-заголовок возвращается как 500 (Internal Server Error) для каждой ошибки.

Вот так выглядит моя последовательность ошибок.

<faultSequence>
<makefault description="" version="soap11">
    <code value="soap11Env:VersionMismatch" xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/"/>
    <reason expression="get-property('ERROR_CODE')"/>
    <role/>
    <detail/>
</makefault>

<log level="custom">
    <property expression="get-property('HTTP_SC')" name="header"/>
</log>

<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>

Я пытаюсь перехватить HTTP-код внутри контекста сообщения.Значение равно нулю

LogMediator header = null

Но когда ответ отправляется обратно клиенту, он возвращает HTTP как 500 (ошибка внутреннего сервера)

enter image description here

Любой совет поможет здесь.Любезно помочь.Спасибо, StackOverFlow.

1 Ответ

0 голосов
/ 07 мая 2019

Свойство HTTP_SC принадлежит области действия axis2.Таким образом, вы можете зарегистрировать код состояния, используя

<log level="custom">
    <property expression="get-property('axis2','HTTP_SC')" name="header"/>
</log>

или

<log level="custom">
    <property expression="$axis2:HTTP_SC" name="header"/>
</log>
...