HTML, который пришёл в письме содержит вместо угловых скобок тэгов заменители. Тэг <td> выглядит как <td>
Извлечь нужное значение при помощи XPath не удаётся.
//m:td
https://docs.wso2.com/display/ESB481/Synapse+XPath+Variables
http://www.w3schools.com/xpath/default.asp
Если речь об одном числе, то можно использовать медиатор Script и разобрать в нём почтовое сообщение при помощи регулярного выражения.
https://docs.wso2.com/display/ESB481/Script+Mediator
<script language="js">
var f1TaskId = mc.getPayloadXML().text().match(/TaskID=(\d+)/m)[1];
mc.setProperty('F1TaskId', f1TaskId);
print(f1TaskId);
</script>
<log>
<property name="F1TaskId" expression="get-property('F1TaskId')"/>
</log>
Здесь из контекста SOAP-сообщения mc мы извлекаем собственно его содержимое методом getPayloadXML. Получаем объект XML c единственным элементом, в котором сидит HTML письма. Извлекаем из объекта строку методом text и применяем к ней регулярное выражение с помощью match. Из массива найденных вариантов берём второй с индексом 1. Это ID задачи, ограниченный скобками внутри регулярного выражения - (\d+).
Далее создаём новое свойство в контексте SOAP-сообщения методом setProperty. Это равноценно использованию медиатора Property.
В следующих медиаторах мы можем получить извлечённый из текста письма идентификатор задачи через get-expression, как продемонстрировано медиатором Log.
Извлечь нужное значение при помощи XPath не удаётся.
//m:td
https://docs.wso2.com/display/ESB481/Synapse+XPath+Variables
http://www.w3schools.com/xpath/default.asp
Если речь об одном числе, то можно использовать медиатор Script и разобрать в нём почтовое сообщение при помощи регулярного выражения.
https://docs.wso2.com/display/ESB481/Script+Mediator
<script language="js">
var f1TaskId = mc.getPayloadXML().text().match(/TaskID=(\d+)/m)[1];
mc.setProperty('F1TaskId', f1TaskId);
print(f1TaskId);
</script>
<log>
<property name="F1TaskId" expression="get-property('F1TaskId')"/>
</log>
Здесь из контекста SOAP-сообщения mc мы извлекаем собственно его содержимое методом getPayloadXML. Получаем объект XML c единственным элементом, в котором сидит HTML письма. Извлекаем из объекта строку методом text и применяем к ней регулярное выражение с помощью match. Из массива найденных вариантов берём второй с индексом 1. Это ID задачи, ограниченный скобками внутри регулярного выражения - (\d+).
Далее создаём новое свойство в контексте SOAP-сообщения методом setProperty. Это равноценно использованию медиатора Property.
В следующих медиаторах мы можем получить извлечённый из текста письма идентификатор задачи через get-expression, как продемонстрировано медиатором Log.
Комментариев нет:
Отправить комментарий