当前位置:首页 > 用友ERP UAP平台培训教程
保证。
如下图所示的一个交换规则定义:
2.5.9 脚本开发
2.5.9.1脚本开发
脚本用于对EIP平台对复杂处理的支持,以解决通过图形化节点难于配置甚至根本不能配置的中间逻辑处理。它囊括了大部分中间处理环节,包括:消息转换、数据库操作、文件操作、Webservice调用等。
此节点是基于Groovy脚本语法规则进行开发,所以编写脚本时必须遵守Groovy语法。脚本节点为编辑脚本内容提供了友好的脚本编辑界面,如下图所示:
源消息和目标消息都是通过选择数据类型确定消息内容的格式,源消息用于从前一节点接收消息,可以根据路径从中读取消息字段内容;目标消息是通过脚本处理之后的目标消息,根据所选择的数据类型进行构造,处理完毕后,目的消息继续向下一个节点进行消息传递。
脚本编辑区用于编写具体脚本,遵守Groovy语法规则。从消息对象取值和为消息对象赋值是基于具体字段路径进行。 通过脚本的返回值决定脚本的后续路由。
功能选择区是为脚本编写提供的通用功能,选择需要的功能后双击,此功能会根据定义的内容自动插入脚本编辑区。包括系统函数、自定义函数、路由、数据源。系统函数是平台默认提供的函数库;自定义函数根据具体需求进行自定义;路由包含系统默认的路由,选择路由来决定脚本节点的后续路由;数据源提供了EIP平台配置的所有数据源,在进行数据库操作时需通过此功能进行选择待操作的目标数据源。
功能描述区是对功能选择区选择的功能进行的使用方法的描述。
校验按钮是对编写的脚本进行正确性校验。如果脚本存在错误,则在日志信息栏中会显示出错误信息。
下面详细介绍系统函数:
(1) setValue
setValue(String contextParam,Object value):为context的简单对象类型参数设值,当对象为数组类型时,value需要为值List集合,否则value是java基本类型对象.contextParam是从目标context中选择的参数,value是设置的具体值
(2) getValue
getValue(String contextParam):获得context的简单类型参数对象值,当对象为数组类型时,返回List,否则返回java基本类型对象;如果path对应的类型非简单类型,则抛出异常.contextParam是源或目标context中选择的参数 (3) setObject
setObject(String contextParam,EDOMObject value):为context的参数设值,当对象为数组类型时,value为构造好的DOMObject对象.contextParam是从目标context中选择的参数,value是设置的具体值 (4) getObject
getObject(String contextParam):获得context中指定路径的对象,该对象为EDOMObject的子类.contextParam是源或目标context中选择的参数 (5) getObjectByXPath
getObjectByXPath(String xpath):获得context中指定路径的对象,该对象为EDOMObject的子类.contextParam是源或目标context中选择的参数 (6) copyObject
copyObject(String srcContextParam,String destContextParam):拷贝源context中的参数值到目标context的参数,srcContextParam是源context参数,destContextParam是目标context参数 (7) createNotArrayTargetObject
createTargetObject(String path):通过目标路径创建目标对象,目标对象应为非数组对象,如果通过此方法创建数组类型对象则抛出异常.path是指定对象的路径.
(8) createArrayTargetObject
createArrayTargetObject (String path,int size):通过目标路径创建数组类型目标对象,如果通过此方法创建非数组类型对象则抛出异常.path是指定对象的路径,size是列表大小. (9) setObjectBySQL
setObjectBySQL(String contextParam,String dsName,String selectSQL):通过数据库数据为context参数或变量赋值.contextParams为参数,dsName是数据源名称,selectSQL是select查询语句 (10) setObjectsBySQL
setObjectsBySQL(String[] contextParams,String dsName,String selectSQL):通过数据库数据为context参数或变量赋值.contextParams为参数数组,dsName是数据源名称,selectSQL是select查询语句
(11) setObjectListBySQL
setObjectListBySQL(String[] contextParams,String dsName,String selectSQL):通过数据库数据为context参数或变量赋值.contextParams为参数数组,dsName是数据源名,selectSQL是select查询语句 (12) getDataBaseConnect
getDataBaseConnect(String dsName):根据数据源名获得数据库连接,返回java.sql.Connection.dsName是数据源名称 (13) readXML
readXML(String url): 读XML文件,返回为XML org.w3c.dom.Document对象.url为读文件的路径 (14) readXMLByPath
readXMLByPath(String url,String path): 根据path从xml文件中读值,返回org.w3c.dom.NodeList.url是文件路径,path是待取值项的xpath (15) readXMLSingleValByPath
readXMLSingleValByPath(String url,String path): 根据path从xml文件中读值,返回字符串List.url是文件路径,path是待取值项的xpath (16) readXMLMultiplyValByPath
readXMLMultiplyValByPath(String url,String[] paths): 根据path从xml文件中读值,返回List,List元素为字符串List.url是文件路径,paths是待取值项的xpath数组树 (17) setSingleValueByXML
setSingleValueByXML(String contextParam,String url,String path):根据path把从xml文件中读取的值赋给环境参数.contextParam是环境参数,url是文件路径,path是待取值项的xpath (18) setMultiplyValueByXML
setMultiplyValueByXML(String[] contextParam,String url,String[] paths):根据path把从xml文件中读取的值赋给环境参数.contextParam是环境参数,url是文件路径,paths是待取值项的xpath数组 (19) writeXML
writeXML(String url,String contextParam,type):把contextParam对应的对象写入文件.url是写文件的路径,contextParam为待写入xml的对象,type数据源类型:1为源环境,2为目标环境 (20) constructMsgBodyByClass
constructMsgBodyByClass(Class clazz):通过用户外部定义的class构造消息体.clazz是用户自定义类,需要实现接口ITransform
共分享92篇相关文档