日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

服務編排設計器內節點說明

服務編排設計器內節點說明

image.png
說明
  • 您可以調用依賴限界上下文中的應用服務方法、輕應用內您自定義的服務方法及系統內置的服務方法。節點名稱將默認為服務方法名稱,您需要在調用節點內對入參賦值,并為方法輸出綁定變量。

  • 對應用服務方法調用的節點中,您還能通過綁定變量的方式獲取該服務調用返回值中的code、message信息。

服務編排節點

說明

調用

  • 服務調用:您可以基于已設置的數據源,創建服務調用,實現數據的輸入輸出。數據源類型有以下三種:

    BizWorks應用類型:

    ○ 選擇數據源后,再選擇內部要調用的接口,并進行請求參數配置。

    ○ 對響應結果進行內容的提取。

    REST API類型:

    ○ 選擇數據源后,基于數據源的BaseURL,拼接出實際調用的接口路徑。

    ○ 填入接口調用的請求參數。

    ○ 根據接口的返回結構,定義對應類型的變量,作為服務調用的返回值。

    MySQL類型:

    ○ 選擇數據庫后,可在SQL語句中寫入單行腳本。

    ○ 支持在腳本中使用{{variable1+variable2}}格式設置表達式,以及調用服務編排內的變量和可用的BWEL表達式。關于BWEL表達式詳情,請參見服務編排、邏輯流、工作流中的表達式語法及BWEL函數規則說明。

    ○ 根據語句的返回結構,定義對應類型的變量,作為接口調用的返回值。

分支

If用于為流程創建多個分支流程,在節點中,您可以自定義分支名稱,并通過表達式來定義分支條件,表達式的最終值類型需為Boolean。當不滿足任何分支條件時,系統將會執行默認分支。

添加后可在屬性面板上對每個分支進行設置,設置內容包括分支的條件、每個分支條件中通過組合一個或多個變量及條件運算符構成復雜條件編排。

循環

  • ForEach

    • 用于配置某些循環的流程。例如,對某個list變量內元素遍歷并操作的場景,具體請參見如下代碼示例:

      List<Structure_A> aList;
      for (Structure_A a : aList) {
          func(a);
      }
      • 在遍歷節點內時,A可為任意類型:基礎類型、集合類型或對象類型。集合變量為aList,條目變量則為a。循環中對a變量的操作,則在遍歷循環節點內以通過節點編排的形式實現。1

      • 集合變量需要從流程現存變量中選取,條目變量由于只存在于循環內部,您只需要設定一個與流程內變量編碼不重復的編碼,即可創建以該編碼為標識的循環內變量。以aLista為例,條目變量a在設定后,不會體現在整體流程的變量管理列表中,但在循環內,可從列表中獲取。

    • While用于配置循環的流程,在While循環條件成立時,循環內設置的流程將重復執行。

      image.png

      如上圖在Number類型的變量x小于100時,While內的流程將重復執行。

      image.png
    • Break:可被拖入循環類型的節點內部,終止所在循環。

    • Continue:可被拖入循環類型的節點內部,使當前流程進入下一個循環。

語句

  • 變量賦值:用于對變量進行賦值,您既可以通過另一個變量為變量賦值,也可以表達式的形式為變量賦值。例如,對于兩個類型均為Integer的變量:a、b,在為變量a賦值的表達式中寫入:b+1,即可實現a=b+1形式的賦值。

    說明
    • 表達式的終值類型需和要賦值的變量類型相同。

    • 在同一個節點內,您可以為多個變量進行賦值,賦值操作的前后順序可調。

  • 打印日志:用于在應用運行日志中打印內容,日志內容由表達式定義,表達式的最終值類型需為String。您可以通過打印出來的日志信息,快速定位和排查問題。

  • 自定義腳本:用于在服務編排中插入自定義腳本,在腳本中支持通過Groovy語言編寫腳本來實現循環、分支、變量賦值及自定義函數等編排操作。

  • 結束節點:標志著流程的結束,在節點內可設定某變量為當前服務方法的出參。

    1
    說明

    如果流程出參的類型為:

    • 基本類型:支持通過值、變量、表達式賦值。

    • 集合類型:支持通過變量、表達式賦值。

    • 對象類型:支持通過變量、表達式賦值。

異常

異常拋出

  • 異常處理的觸發條件使用表達式表達。

  • 異常編碼(code)、異常信息(message)支持使用變量、值、表達式三種方式賦值。

  • 當觸發條件被滿足時,服務方法會停止執行,對外拋出在節點中定義的異常信息。

自定義腳本

變量調用

自定義腳本支持調用變量,變量范圍包括:

  • 服務編排內定義的流程變量。

  • 服務編排內支持調用的靜態變量。

變量調用方式:$bw作為Bizworks內置關鍵字,通過$bw.{變量名}即可對Variable變量值進行讀取或修改。對于類型為結構對象的變量,支持通過$bw.{變量名}.{字段名}的方式調用變量內部的字段。

# 基礎類型
// 修改
$bw.name="123"
//讀取
String nameLocal = $bw.name

# 結構對象
$bw.user.name ="123"
String nameLocal = $bw.user.name

當靜態變量和流程變量重名時,腳本中對變量的調用順序和服務編排中相同,優先調用流程變量。

變量調用的注意事項

  • 無法在自定義腳本中修改靜態變量。例如:定義靜態變量為name,$bw.name=222是非法的,引擎不會執行該語句。

  • 無法添加或修改尚未定義的變量。例如:

    • 用戶未定義age變量,$bw.age=222是非法的,引擎會跳過該語句的執行。

    • 用戶未定義age變量,String age =$bw.age,該語句執行后變量age的值為null。

  • 循環節點中定義的迭代變量支持被自定義腳本內調用。例如:循環節點中,迭代變量是可以被其中的腳本節點通過$bw.變量名方式使用。

  • 不支持使用函數類關鍵字作為變量名,若將變量名定義為關鍵字如CollectionUtils,通過$bw.CollectionUtils語句返回的是函數類,并不會返回用戶自定義的變量值。腳本節點關鍵字如下:

    • NumberUtils:數據計算函數類關鍵字。

    • LogicUtils: 邏輯計算關鍵字。

    • DateUtils : 時間函數。

    • CollectionUtils:集合函數。

  • 用戶在腳本中使用的所有流程變量必須在前序節點中進行初始化(賦初值或對內部字段賦初值),否則為變量賦值后仍可能產生變量未賦值的報錯,或消費類型為結構對象的變量中的某個屬性時會出現空指針問題。當前引擎暫不會代替用戶完成結構對象的初始化操作。

BWEL函數調用

自定義腳本中支持調用服務編排內的BWEL函數,可使用$bw.函數類名.函數名(參數) 的對BWEL函數進行調用,具體函數名稱及入參設置參見BWEL函數說明。也支持在函數中寫Groovy表達式:

# 調用MAX函數,執行數學計算MAX函數
$bw.NumberUtils.MAX(1,2,3)

# 調用IF函數,執行復雜表達式
$bw.LogicUtils.IF(2+3>5,"22"+"444","44");

# 拋出異常,異常中包含code、message信息
$bw.ExceptionUtils.throwException([code:"400",message:"自定義異常拋出"]);

BWEL函數調用的注意事項

  • 函數名稱需要區分大小寫。例如:使用MAX函數時寫作max,會導致引擎無法識別該函數。

  • 無法對函數類進行賦值操作。例如:$bw.LogicUtils.name = "111" ,該語句無法生效。

  • 不支持使用函數類關鍵字作為變量名,若將變量名定義為關鍵字如CollectionUtils,通過$bw.CollectionUtils語句返回的是函數類,并不會返回用戶自定義的變量值。腳本節點關鍵字如下:

    • NumberUtils:數據函數。

    • LogicUtils:邏輯函數。

    • StringUtils:文本函數。

    • DateUtils:時間函數。

    • CollectionUtils:集合函數。

    • ExceptionUtils:異常函數

Groovy使用約束

針對腳本運行時可能出現的安全風險,引擎對腳本允許引用的類做了一定的安全約束。

  • 腳本節點中能夠直接使用的類如下:

    "com.google.common.collect.*",
    "java.util.*",
    "java.util.stream.*",
    "java.util.regex.*",
    "java.util.function.*",
    "java.lang.Math.*",
    "org.apache.commons.lang3.StringUtils"
  • 腳本節點中允許導入的類如下:

    "java.lang.Object",
    "java.lang.String",
    "java.lang.Boolean",
    "java.lang.StringBuffer",
    "java.lang.StringBuilder",
    "java.lang.Byte",
    "java.lang.Float",
    "java.lang.Integer",
    "java.lang.Long",
    "java.lang.Math",
    "java.lang.Short"

除去上述支持的類型和包外,其他類或者包都不得引入,引入后會導致引擎拒絕執行,腳本編譯失敗。

從數據源批量創建服務方法

  1. 服務編排頁面,單擊從數據源批量創建

  2. 從數據源批量創建服務方法面板的左側導航欄中,選中目標接口。image.png

    說明

    單次最多只能創建10個服務方法。

  3. 單擊保存

    系統自動創建服務方法包括以下內容:

    • 服務方法入參:服務方法的入參和接口的請求參數保持一致,包括參數名稱、編碼參數類型描述必填。

    • 服務方法出參:服務方法的出參和接口的響應參數保持一致,包括參數類型描述。

    • 中間變量:如果應用服務方法有出參,則系統會自動創建一個中間變量,類型與出參相同。

    • 流程節點:系統自動生成一個開始節點、一個調用服務方法節點和一個結束節點,調用服務方法節點調用所選的接口,節點名稱與應用服務方法名稱相同,服務方法的入參作為參數傳給接口,節點的出參賦值給中間變量。

    • 結束節點:如果接口有響應參數,則系統會自動將output參數在結束節點賦值給服務方法的出參。

    系統提示保存成功,您可以在服務方法頁面查看所創建的服務方法。1