Como rotear dinamicamente a mensagem no WSO2 ESB com base no arquivo de configuração XML

Eu estou tentando rotear uma mensagem com base em informações em um trecho de XML armazenado como uma entrada local (key = mapping_id_ep_v1.xml). O id usado para procurar o endpoint correto e faz parte do corpo da mensagem.

Este é o snippet XML usado para mapear ID's para endpoints:

<mappings>
    <mapping id="ep_1">http://localhost:8280/services/ep_1</mapping>
    <mapping id="ep_2">http://localhost:8280/services/ep_2</mapping>
    <mapping id="ep_3">http://localhost:8280/services/ep_3</mapping>
<mappings>

Eu recupero o id do corpo para procurar o endpoint usando a seguinte instrução:

<property name="LOOK-UP" expression="//controleFile/id" />

Eu posso carregar o arquivo XML em um arquivo de propriedades usando a seguinte entrada em uma sequência:

<property name="MAPPING" expression="get-property('mapping_id_ep_v1.xml')" />

Eu registro a propriedade usando a seguinte declaração:

<log level="custom">
    <property name="Look-up" expression="get-property('LOOK-UP')" />
    <property name="Mapping" expression="get-property('MAPPING')" />
</log>

Por enquanto, tudo bem. Eu não consegui descobrir como recuperar o endpoint correto da propriedade MAPPING. Alguém pode ajudar?

questionAnswers(3)

yourAnswerToTheQuestion