Я использую WSO2 BPS and WSO2 DSS
.
DSS имеет 2 services
, как указано ниже:
(1) Возвращает список статусов и
(2) Вставляет запись в таблицу.Итерирующий ответ DSS в BPEL (WSO2 BPS)
Мне удалось вызвать обе службы DSS от BPEL Workflow
. Но мне нужно добиться следующего.
Мой первый DSS вернет «Список статуса». Я должен повторить (используя 'forEach' or 'while'
или ...) ответ и выбрать конкретный узел (StatusDescription
) и использовать его для следующего вызова DSS. Мой первый ответ DSS ниже.
<Response xmlns="http://ws.wso2.org/dataservice">
<Status>
<StatusId>1</StatusId>
<StatusDescription>Active</StatusDescription>
</Status>
<Status>
<StatusId>2</StatusId>
<StatusDescription>Inactive</StatusDescription>
</Status>
</Response>
Может кто-нибудь предложить учебник или фрагмент кода, который будет проходить через выше ответ DSS? то есть My bpel:finalCounterValue
будет «2», так как в вышеупомянутом XML есть 2 «состояния».
Спасибо заранее.
Нет причин для повторения операций BPEL. Просто используйте обычное выражение XPath в задании. Что-то вроде ' $ VariableName/* [child :: StatusId = 2]/StatusDescription ' (опуская пространства имен) должно сделать трюк. –
joergl
Вы правы, joergl. Но вышеупомянутый ответ - это всего лишь образец. В реальности число статусов может отличаться (динамическое). Итак, я должен изучить другой вариант. Благодарю. –