[英]Iterating DSS response in BPEL (WSO2 BPS)
我正在使用WSO2 BPS and WSO2 DSS
。
DSS 2 services
以下2 services
:
(1)返回狀態列表和
(2)在表中插入一條記錄。
我成功地從BPEL Workflow
調用了兩個DSS服務。 但是我需要實現以下目標。
我的第一個DSS將返回“狀態列表”。 我必須迭代(使用'forEach' or 'while'
或...)該響應並StatusDescription
選擇特定的節點( 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響應進行迭代? 即,由於上述XML中有2個“狀態”節點,因此我的bpel:finalCounterValue
將為“ 2”。
提前致謝。
我找到了迭代節點的方法。 請在下面找到代碼段。
<bpel:forEach parallel="no" counterName="Counter" name="ForEach">
<bpel:startCounterValue>
<![CDATA[1]]>
</bpel:startCounterValue>
<bpel:finalCounterValue>
<![CDATA[count($GetStatusPLResponse.parameters/ns:Status)]]>
</bpel:finalCounterValue>
<bpel:scope>
<!-- Some activity goes here. Say Assign or Invoke or .... -->
</bpel:scope>
</bpel:forEach>
命名空間xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
下可用的count
方法可幫助我們找到節點數( 'Status'
)。
count
方法返回值“ 2”,因此'forEach'
迭代兩次。
學習愉快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.