- BPEL 教程
- BPEL - 首頁
- BPEL - 簡介
- BPEL - 活動
- BPEL 流程中的合作伙伴連結
- 建立合作伙伴連結
- BPEL - 介面卡
- 流程監控器
- 單向訊息
- 同步互動
- 非同步互動
- 帶有超時的非同步互動
- 帶有通知定時器的非同步互動
- 一個請求,多個響應
- 一個請求,兩個可能的響應之一
- 一個請求,一個強制響應和一個可選響應
- 部分處理
- 多個應用程式互動
- 呼叫同步 Web 服務
- 呼叫非同步 Web 服務
- 使用並行流程
- 使用條件分支
- 使用故障處理
- 重新提交故障流程
- 整合 Java 和 Java EE 程式碼
- 操作 XML 資料
- 使用關聯集和訊息聚合
- 在 BPEL 流程中使用事件和超時
- 使用通知服務
- 使用 Oracle BPEL Process Manager 感測器
- BPEL 1.1 和 BPEL 2.0 之間的區別
- BPEL 有用資源
- BPEL - 快速指南
- BPEL - 有用資源
- BPEL - 討論
BPEL - XML 資料操作
XPath 主要用於在 BPEL 流程中操作 XML。有一些有價值的 Xpath 函式可用於操作 XML。讓我們看看下面的函式。
bpel:getVaribleData(varName, partName, xpathStr)
這可以用來使用 XPath 表示式從變數中提取一組元素。
<bpel:copy>
<bpel:from>
<![CDATA[count(bpel:getVariableData(‘$Variable','$partName')/ns:return)]]>
</bpel:from>
<bpel:to variable = "itemNumber">
</bpel:to>
</bpel:copy>
bpel:getLinkStatus()
這可以用來評估並返回一個布林值,指示特定連結是啟用還是非啟用。:getVariableProperty(string, string)
這有助於提取變數中的屬性。:doXSLTTransform()
這執行 XSLT 轉換。string ()
這可以用來提取元素中的文字內容,而不是使用 /text()。string-length()
此函式用於計算字串的長度。但 != 運算子似乎不適用於此函式的輸出。因此,您可以使用 > 或 < 而不是使用 !=。布林值
您可以使用 XPath 布林函式分配布林值。
<assign>
<!-- copy from boolean expression function to the variable -->
<copy>
<from expression = "true()"/>
<to variable = "output" part = "payload" query="/result/approved"/>
</copy>
</assign>
分配日期或時間
您可以分別使用 Oracle BPEL XPath 函式 getCurrentDate、getCurrentTime 或 getCurrentDateTime 來分配日期或時間欄位的當前值。
<!-- execute the XPath extension function getCurrentDate() -->
<assign>
<copy>
<from expression = "xpath20:getCurrentDate()"/>
<to variable = "output" part = "payload"
query = "/invoice/invoiceDate"/>
</copy>
</assign>
連線字串
您可以先執行字串操作(例如連線多個字串),而不是將一個字串變數(或變數部分或欄位)的值複製到另一個變數。
<assign>
<!-- copy from XPath expression to the variable -->
<copy>
<from expression = "concat('Hello ',
bpws:getVariableData('input', 'payload', '/p:name'))"/>
<to variable = "output" part = "payload" query = "/p:result/p:message"/>
</copy>
</assign>
分配字串文字
您可以在 BPEL 中將字串文字分配給變數。
<assign>
<!-- copy from string expression to the variable -->
<copy>
<from expression = "'GE'"/>
<to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
</copy>
</assign>
分配數值
您可以在 XPath 表示式中分配數值。
<assign>
<!-- copy from integer expression to the variable -->
<copy>
<from expression = "100"/>
<to variable = "output" part = "payload" query = "/p:result/p:quantity"/>
</copy>
</assign>
注意 - 使用了一些 XSLT 函式來轉換 XML 文件。
廣告