WSO2: обогащение значения узла свойства OM - PullRequest
0 голосов
/ 11 октября 2018

У меня есть пустое свойство OM, например:

<property description="empty extra_data" name="extra_data" scope="default">
    <extra_data xmlns=""/>
</property>

Позже я хочу добавить данные в эту структуру XML.

Первое обогащение - добавление дочернего элемента работает нормально:

<enrich description="set URL child in extra data">
    <source clone="true" type="inline">
        <url />
    </source>
    <target action="child" xpath="$ctx:extra_data"/>
</enrich>

Далее я хочу установить URL, который хранится в другом свойстве ("url").Я пробовал это так, но это не работает (недопустимая цель):

<enrich description="set url" xmlns:ns="http://ws.apache.org/ns/synapse">
    <source clone="true" property="url" type="property"/>
    <target xpath="$ctx:extra_data//ns:url/text()"/>
</enrich>

Может кто-нибудь помочь мне с этим?:)

1 Ответ

0 голосов
/ 12 октября 2018

Я нашел это решение.Установите тег XML и его содержимое в свойстве и добавьте его в качестве нового дочернего элемента.

<property description="url xml tag" expression="fn:concat('&lt;url>', $ctx:url, '&lt;/url>')" name="url_xml" scope="default" type="OM"/>
<enrich description="set url child in extra data">
    <source clone="true" property="url_xml" type="property"/>
    <target action="child" property="extra_data" type="property"/>
</enrich>

Я все еще хотел бы заменить или установить значение внутри узла, но пока это работает...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...