barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 5 сентября 2013 г.

WSO2 ESB: получение значения Local Entry типа "Inline XML" внутри прокси-сервиса и работа с ним как с XML

Задача

Есть Local Entry типа "Inline XML", содержащая некоторый XML. Необходимо в прокси-сервисе извлечь эту XML и обработать ее, например, извлечь значение определенного узла с помощью XPath.

Решение

Для начала получаем значение Local Entry (пусть она называется 'localEntryName') как XML в свойство (пусть будет "localEntryXml"):
<property action="set" expression="get-property('localEntryName')" name="localEntryXml" scope="default" type="OM"/>
Здесь важно, что тип свойства указан "OM".
Теперь с этим свойством можно оперировать, например, выполнять на основе него фильтрацию:
<filter xpath="count($localEntryXml/*[text()='qwerty'])">
     <!-- -->
</filter>

Комментариев нет:

Отправить комментарий