跳至主要内容
Administrator Guide
上次更新时间 :2023-06-23
参考信息:Workday Studio 帮助程序对象

参考信息:Workday Studio 帮助程序对象

Workday Studio 提供了许多帮助程序对象,使您能够使用 MVEL 访问集成的运行时属性。您可以使用帮助程序对象对运行时值进行简单更改,或者提取这些值并将其传递给程序集中的构成。
帮助程序对象
目的
context
让用户有权访问
MediationContext
object - 即集成在运行时的动态状态。该
MediationContext
对象链接到当前消息、中介属性、中介变量和当前错误信息。
示例:此表达式将检索属性的值
myProperty
MediationContext
context.getProperty('myProperty')
示例:此表达式将检索属性
someProperty
MediationContext
如果属性值设置为
someValue
context.getProperty('someProperty').equals('someValue')
da
“Document Accessor”辅助对象。支持访问在此集成运行之前附加到集成事件的文档列表。可有效地将“Get Event Documents”Web 服务调用与对 Web 服务响应中所引用文档的检索相结合。
da
辅助对象具有一些限制:
  • 它必须明确包含逻辑,用于处理可用附件数量超出预期的情况。
  • 它无法访问附件的文件类型。
  • 它无法访问附件的字符编码。
“doc-iterator”
路由策略会自动处理数量超出预期的附件,并且可以访问多用途互联网邮件扩展(MIME 类型)和字符编码。对于集成而言,使用该策略(而非此帮助器对象)来检索输入文档通常更为合适。
示例:以下表达式从文件名为
“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 IntegrationSystems”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
让用户有权访问在程序集的 Spingle 配置中定义的创建 bean 和检索 bean。
示例:此表达式会检索
name
名为“”的 bean 的属性
Fred
在春季上下文中:
spring.getBean('fred').name
示例:以下表达式可访问春季应用程序上下文:
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