跳至主要內容
Administrator Guide
上次更新時間 :2023-06-23
參照︰ Studio Helper 物件

參照︰ Studio Helper 物件

Studio 提供了許多 Helper 物件,讓您能夠使用 MVEL 來存取整合的執行階段屬性。您可以使用 Helper 物件對執行階段值進行簡單變更,或將這些值擷取並傳遞至集合中的元件。
小幫手物件
目的
context
提供以下權限︰存取
MediationContext
物件 - 即整合到執行階段的動態整合。該
MediationContext
物件連結至目前訊息、中介屬性、中介變數和目前錯誤資訊。
範例︰此運算式擷取 屬性值
myProperty
MediationContext
context.getProperty('myProperty')
範例︰此運算式擷取「」屬性
someProperty
MediationContext
如果屬性值設為
someValue
context.getProperty('someProperty').equals('someValue')
da
Document Accessor Helper 物件。提供以下權限︰存取此整合執行前附加至整合事件的文件清單。有效地將 Get Event Documents Web 服務呼叫與擷取 Web 服務回應中參照的文件相結合。
da
小幫手物件有一些限制︰
  • 必須明確包含處理可用附件數量超出預期的邏輯。
  • 無法存取附件的檔案類型。
  • 無法存取附件的字元編碼。
文件迭代
器路由策略會自動處理非預期的附件數量,而且它可以存取 MIME 類型和字元編碼。對於整合而言,使用該策略 (而不是此 Helper 物件) 來擷取輸入文件通常更為適當。
範例︰此運算式會從檔案名為
eib_transform_output.txt
的整合事件中擷取文件,並新增一個名為「」的變數。
var1
da.toVar('eib_transform_output.txt', 'var1')
範例︰以下運算式會擷取具有指定標籤的文件︰
da.getDocsMatching('label')
ftp
提供以下權限︰存取向 ftp、ftps 或 sftp 伺服器發出 LIST 要求時傳回的檔案清單。
範例︰以下運算式會擷取 URL 的檔案清單︰
ftp.list('URL')
intsys
提供對 Get Integration Systems Web 服務呼叫傳回的整合系統配置的便捷高效能存取。
範例︰此運算式擷取名為「」的整合屬性內容
username
intsys.getAttribute('username')
範例︰如果具有指定名稱的整合服務存在,則此運算式顯示為 True︰
intsys.isServiceEnabled('name')
如果您使用
intsys
若要存取屬性內容,您必須先在
workday-in
整合系統的傳輸
lp
提供以下權限︰存取整合啟動事件中的啟動參數和其他資訊。
範例︰以下運算式擷取具有指定名稱的啟動參數值︰
lp.getSimpleData('name')
範例︰如果具有指定標籤的參數存在,則此運算式顯示為 True︰
lp.exists('label') == true
使用前
lp
變數,您需要將啟動參數 XML 指派給變數
wd.launchparameters
message
提供以下權限︰存取目前訊息及其標頭資訊。使用此物件為訊息指派新內容。
範例︰此運算式會從以下位置以文字的形式擷取訊息的詞根部分︰
MediationMessage
介面︰
message.rootPartAsText
範例︰此運算式可擷取
MediationContext
變數︰
message.variables
mtable
提供以下權限︰存取
MTableAdapter
介面,此介面定義
mtable
實例。
範例︰此運算式可將
mtable
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
提供以下權限︰存取目前訊息的個別部分。Workday 整合中的大多數訊息都有一個部分,即根部分。使用
parts[0]
以存取根部部分。
範例︰此運算式擷取標頭
someHeader
從根部分︰
parts[0].getHeader('someHeader')
範例︰此運算式實作
xpathB
評估 XPath 布林運算式的方法︰
parts[0].xpathB('/a/b')
props
提供以下權限︰
MediationContext
屬性
範例︰此運算式擷取 屬性值
myProperty
MediationContext
props.myProperty
範例︰此運算式擷取 屬性值
bean.property
MediationContext
props['bean.property']
spring
提供以下權限︰存取程序集的 Spring 配置中定義的建立和擷取 Bean。
範例︰此運算式會擷取
name
名為「」的 Bean 的屬性內容
Fred
在 Spring 環境定義中︰
spring.getBean('fred').name
範例︰此運算式存取 Spring 應用程式環境定義︰
spring.parent ApplicationContext
util
一組實用工具函數,用於執行常見操作,例如轉義值以插入 XML 或建立 HTTPS URL。
範例︰此運算式會檢查
MediationContext
是拆分器元件將產生的最後一條訊息︰
props['is.last.record'] = util.isLastMessageInBatch()
部分
util
函數有嚴重的限制。範例︰
xpathToCommaDelimString
函數針對指定 XML 字串執行 XPath 運算式,會傳回節點序列的字串值,產生以逗號分隔的清單。然後,您可以使用 MVEL 中的 Java 字串處理函數來拆分和操作逗號分隔的清單。但是,該函數有下列限制︰
  • 僅支援 XPath 1。
  • 無法產生 CSV 檔案,因為其無法正確轉義換行符、逗號和引號字元。
  • 無法可靠分隔包含逗號的資料。
  • 其要求將 XML 做為字串,這鼓勵了不可縮放的做法,例如將目前的環境定義訊息或變數轉換為字串。
為確保穩定性和向後兼容性,Workday 強烈建議使用明確的版本化 Web 服務要求。使用
MVELUtilHelper.getLatestWWSVersion()
在整合中加入並非最佳做法,而且可能會導致整合失敗或產生非預期的結果。
vars
提供以下權限︰
MediationContext
變數
範例︰此運算式會擷取變數的長度
myVariable
vars['myVariable'].length
範例︰此運算式會擷取變數的長度
myVariable
vars['myVariable'].length
xmldiff
提供以下權限︰以程式方式存取使用
xmldiff
元件進行文件比較的結果。
範例︰此運算式會檢查 2 個文件之間是否存在差異︰
xmldiff.isDifferent() == true
範例︰以下運算式會擷取 2 個文件之間的差異清單︰
xmldiff.changes