Мне нужно получить уникальный идентификатор для отслеживания сообщений через журналы. Я использую WSO2 ESB 4.8.1. Я нашел статью, посвященную WSO2 ESB 5.0.0. http://nuwanzone.blogspot.it/2016/12/wso2-esb-tracing-messages-through-logs.html . В нем описывается, как установить уникальный идентификатор для каждого сообщения с помощью объекта MessageContext, чтобы я мог получить к нему доступ из любого места в потоке сообщений. Возможно ли реализовать подобное решение и в WSO2 ESB 4.8.1? (портирование этого) решения в WSO2 ESB 4.8.1? Знаете разные решения?
Трассировка сообщений по логам в WSO2 ESB 4.8.1
comment
Если вы имеете дело с сообщениями SOAP, вы можете использовать свойство MessageID. Это свойство доступно с помощью обычной функции XPath get-property() в посреднике.
- person Philippe Sevestre   schedule 12.04.2017
comment
Да, вы не можете использовать то же самое со старой версией.
- person Thusitha Thilina Dayaratne   schedule 13.04.2017
comment
Спасибо @PhilippeSevestre за ваш ответ. Да, я работаю с сообщениями SOAP. Я постараюсь как можно скорее Заранее спасибо.
- person Stefano Lizzio   schedule 13.04.2017
comment
Спасибо @ThusithaThilinaDayaratne за ваш ответ. Я попытался использовать решение MDC, описанное в статье, используя один из моих прокси-сервисов, но безуспешно. Log4j не записывает уникальный идентификатор в мой журнал. WSO2 ESB 4.8.1 использует jdk 1.7, а jar для добавления в wso2esb-4.8.1\repository\components\lib был скомпилирован с использованием jdk 1.8. Может в этом проблема? Заранее спасибо.
- person Stefano Lizzio   schedule 13.04.2017
Ответы (1)
Вы можете сохранить MessageID в свойстве при запуске и добавить его в посредники журнала. Пример:
<property description="SetMessageUUID" expression="fn:substring-after(get-property('MessageID'), 'urn:uuid:')" name="MessageUUID" scope="default" type ="STRING"/>
<log>
<property name="Step" expression="Request service A"/>
<property name="ID" expression="get-property('MessageUUID')"/>
</log>
<call>
.....
</call>
<log>
<property name="Step" expression="Response service A"/>
<property name="ID" expression="get-property('MessageUUID')"/>
</log>
person
Alemão
schedule
13.04.2017