2015-12-22 7 views
0

Можно ли перехватывать исключения, возникающие во время выполнения в WSO2 Proxy? Моя прокси-служба генерирует большое количество исключений (на каждой итерации), и они, как правило, создают большие накладные расходы для ESB, который не хватает памяти. Я хотел бы уловить/отключить эти исключения и позволить прокси-серверу работать до конца после отображения одного сообщения об ошибке для каждого исключения.WSO2 Proxy: выхватить исключения во время выполнения?

+0

Вы пытались использовать последовательность, указанную в этой цели, которая делает make-код? ' ' – Rahul

+0

Я использовал ошибку в прокси-сервере, который, похоже, не обнаруживает каких-либо исключений. Но не включили целевой тег. Не могли бы вы объяснить больше? –

ответ

0

Вы можете попробовать использовать makefault, как описано here

В прокси-сервере под цели, которую вы можете установить faultsequence, чтобы указать на последовательности, определенной отдельно

Теперь nameoffaultseq будет иметь такой код, это должно исключение для исключения прерываний и делает для меня.

<makefault xmlns="http://ws.apache.org/ns/synapse" version="soap11"> <code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:VersionMismatch" /> <reason value="test message " /> <role></role> </makefault>

Это для soap11 ответа

для не мыл, как остальные, вы можете использовать что-то вроде

<makefault version="pox"> 
    <reason expression="get-property('ERROR_MESSAGE')"/> 

</makefault> 
<payloadFactory media-type="xml"> 
    <format> 
     <Error> 
      <ErrorCode>$1</ErrorCode> 
           <ErrorDesc>$2</ErrorDesc> 
           <ErrorSource>$3</ErrorSource> 
           <ErrorType>SE</ErrorType> 
     </Error> 
    </format> 
    <args> 
     <arg evaluator="xml" expression="get-property('ERROR_CODE')"/> 
     <arg evaluator="xml" expression="get-property('ERROR_MESSAGE')"/> 
     <arg evaluator="xml" expression="get-property('ERROR_EXCEPTION')"/> 
    </args> 
</payloadFactory> 
<property name="HTTP_SC" value="500" scope="axis2" type="STRING"/> 
<property name="messageType" expression="get-property('AcceptFromConsumer')" scope="axis2" type="STRING"/>` 

Где аргументы стандартных свойств ошибок, предоставляемых wso2esb, так и в целом для исключений для выполнения, этого должно быть достаточно. Более подробная информация об обработке ошибок: here

Смежные вопросы