1 准备网关服务器
网关服务器可由乐图云表官方提供,亦可自行部署。利用网关服务器对接云表及第三方应用的流程如图1-1所示。

图1-1 利用网关服务器对接云表及第三方应用的流程
1.1 官方提供网关服务器
若由官方提供网关服务器,则需联系客服,客服将提供部署完备的网关服务器应用空间地址及登录的账号与密码。
1.2 自行部署网关服务器
若自行部署网关服务器,则切勿与云表业务服务器共用同一服务器,须另行提供一个专属云表网关服务器的服务器。同时,需咨询云表官方客服获取“网关服务器安装包”、“网关服务器所需的模板库文件”以及“Redis与Memcached的安装文件”。因为,网关服务器需要有别于业务服务器的安装包与授权,安装完成网关服务器后还必须导入网关服务器所需的模板库文件并安装及配置Redis与Memcached(网关服务器版本3.3.45.x以上,只需要配置redis服务即可)。
以下将示范安装及配置Redis与Memcached的详细操作步骤。
(1)将云表官方客服提供的名为“redis_memcached-windows版.zip”的压缩文件解压后放置于任意目录下,此处及后续步骤均以置该文件于D盘根目录下为例,如图1-2所示。

图1-2 置Redis与MemCache的安装文件欲安装的目标目录下
2)打开“redis_memcached-windows版”可见其下分别有名为“redis-x64-3.2.100”的Redis安装文件,以及名为“memcached-1.4.4”的Memcached安装文件,如图1-3所示。

图1-3 打开 “redis_memcached-windows版”可见“redis-x64-3.2.100”与“memcached-1.4.4”
(3)点击桌面左下角“开始”菜单,找到“Windows系统”点开,右键点击“命令提示符”,再点击“更多”,选择“以管理员身份运行”,如图1-4所示。

图1-4 以管理员身份运行“命名提示符”
(4) 在“命令提示符”内输入“cd /d ”加上文件“redis-x64-3.2.100”的路径,于本示范中即输入“cd /d D:\redis_memcached-windows版\redis-x64-3.2.100”,并按下回车键,如图1-5所示。

图1-5输入“cd /d D:\redis_memcached-windows版\redis-x64-3.2.100”并按下回车键
(5)输入“redis-server.exe --service-install redis.windows-service.conf --loglevel verbose”并按下回车键,如图1-6所示。

图1-6 输入“redis-server.exe --service-install redis.windows-service.conf --loglevel verbose”并按下回车键
(6)输入“redis-server --service-start”并按下回车键,如图1-7所示。

图1-7 输入“redis-server --service-start”并按下回车键
(7)输入“cd /d ”加上文件“memcached-1.4.4”的路径,于本示范中即输入“cd /d D:\redis_memcached-windows版\memcached-1.4.4”,并按下回车键,如图1-8所示。

图1-8 输入“cd /d D:\redis_memcached-windows版\memcached-1.4.4”并按下回车键
(8)输入“memcached.exe -d install”并按下回车键,如图1-9所示。

图1-9 输入“redis-server --service-start”并按下回车键
(9)输入“memcached.exe -d start”并按下回车键,如图1-10所示。至此,即已完成Redis与Memcached的安装。

图1-10 输入“memcached.exe -d start”并按下回车键
(10)对文件名为“custom.conf”的网关服务器配置文件增添配置内容。该配置文件位于云表安装文件夹中“LatoServer\Data\conf”路径下,例如云表安装在D盘的Latosoft文件夹下,则该文件的路径为“D:\Latosoft\LatoServer\Data\conf\custom.conf”,没有该路径或文件,则新建。在文件中增添的配置内容如表1-1所示,配置示例如图1-11所示。

lato.redisson.addr=127.0.0.1
lato.redisson.port=6379
lato.redisson.password=lato
2 示例一:对接云表
本示例将以两个不同的云表服务器之间传输数据为例,详细介绍通过网关配置实现云表API对接到云表的操作步骤。以下介绍本操作示例中所需准备的内容供实际应用时参考。
(1)目标服务器:目标服务器为接收数据的对象,本示例中以192.168.1.218作为目标服务器,并取该服务器下的10013应用空间。
(2)网关服务器:网关服务器为联系不同云表服务器乃至第三方应用的代理,本示例中以192.168.11.63作为网关服务器,并取该服务器下的10001应用空间。
(3)业务服务器:本示例中以本地服务器127.0.0.1作为业务服务器,并取该服务器下的10001应用空间。
注:本示例仅介绍业务服务器向目标服务器单向传输数据的具体操作,如需实现两云表间数据双向传输,则需另外再部署一个网关服务器,或在原网关服务器中另外创建一个应用空间,而后再作一个“反向的”单向传输,步骤与本文所介绍的单向传输操作一致,只需注意区分“业务服务器”与“目标服务器”即可。
2.1 配置目标服务器
针对目标服务器所需执行的操作相当简便,只需预先准备欲接收数据的模板,再创建第三方应用授权信息并提供appKey与appName予网关服务器识别即可。
2.1.1 预备对接数据的模板
目标服务器需预备接收数据的模板,接收数据的模板既可以新建也可以采用已有模板,并且接收数据的模板还可有多个,具体依据实际应用过程中的需求为准。本示例中则新建一个名为“示例应付款单”模板以接收数据,该模板的设计界面如图2-1所示。

图2-1 “示例应付款单”的设计
2.1.2 新建第三方应用授权信息
(1)在云表应用首页,点击左侧目录中的“系统管理”,再点击该目录项下的子目录“系统服务”,此时双击打开“系统服务”中的“第三方应用授权”,如图2-2所示。

图2-2 打开“第三方应用授权”
(2)在打开“第三方应用授权”的界面中点击“新建”,如图2-3所示。

图2-3 新建第三方应用授权信息
(3)填写第三方应用授权信息。其中,“appName”与“appKey”为自动生成的,“应用名称”、“应用类型”与“应用描述”可依据实际应用场景输入任意内容,本示例中输入“云表”作为应用名称。输入完成后,另行记录“appName”与“appKey”的值供后续配置网关服务器时填写“SP信息”时使用,并点击“保存”,如图2-4所示。

图2-4 填写第三方应用授权信息
2.2 配置网关服务器
2.2.1 注册api模板
(1)在网关服务器的首页,点击左侧目录中的“系统管理”,再点击“系统服务”子目录,最后双击打开主界面的“api模板注册”并点击“新建”,如图2-7与2-8所示。

图2-7 打开“api模板注册”

图2-8 新建“api模板注册”
(2)填写“api模板注册”内容,其中“SP名称”为“SP信息”中的“SP名称”,本示例中即为上一节所填写的“云表”,“模板名称”则为目标服务器中准备接收数据的模板名称,本示例中为上文提及的“示例应付款单”,填写完成后点击左上方“保存”,如图2-9所示。

图2-9 填写“api模板注册”
2.2.2 填写SP信息
(1)首先登录进入网关服务器,而后在左侧目录中点击“系统管理”,再点击其子目录“系统服务”,此时于主界面双击打开“SP信息”,如图2-5所示。

图2-5 打开“SP信息”
(2)填写SP信息。首先,“应用名称”与“SP名称”可依据实际需求填写任意内容,本示例中均填写为“云表”。其次,“类型”同样按需选择,因本示例是与云表对接,故选择“eversheet”,“验签类型”与“验签Key”不填。最后,在参数栏下添加4个参数,具体参数名称与参数值的来源如表2-1所示。填写完成后点击“保存”,如图2-6所示。


图2-6 填写“SP信息”
2.2.3 新建第三方应用授权信息
步骤与配置目标服务器时新建第三方应用授权信息相一致,故此处简略带过,信息内容如图2-10所示。在本示例中“应用名称”为“云表”,同时记录“appName”与“appKey”的值,以供配置业务服务器时使用。

图2-10 填写第三方应用授权信息
2.3 配置业务服务器
2.3.1 修改配置文件
(1)在安装云表的文件夹下,打开“LatoServer”文件夹内的“Data”文件夹,再往下打开“Data”文件夹下的“conf”文件夹,找到名为“custom.conf”的文件,在本示例中该文件所在的路径为“D:\Latosoft\LatoServer\Data\conf\custom.conf”。如“Data”文件夹下没有名为“conf”的文件夹,则需手动新建一个文件夹并命名为“conf”,而后在“conf”文件夹下新建一个文本文档并命名为“custom.conf”,如图2-11

图2-11 在“Data”文件夹下的“conf”文件夹内新建文本文档
(2)打开“custom.conf”并在内添加配置内容。本示例中添加的配置内容为“10001.eversheet=http://192.168.11.63:88/10001”,如图2-12所示。其中,“10001”为业务服务器的应用空间号;“eversheet”为供下一步新建数据源时使用的“服务名”,实际应用场景中可依需求填写任意内容;“http:// 192.168.11.63:88/10001”为网关服务器应用空间的访问地址(
切勿遗漏"http://"
)。
图2-12 在“custom.conf”中添加配置内容
(3)重启云表服务。打开“云表服务控制中心”点击“关闭服务”,关闭完成后,再点击“启动服务”,如图2-14所示。

图2-14 启动云表服务
2.3.2 新建外部数据源(API)
(1)打开云表浏览器登录应用,登录业务服务器,在左侧目录中点击“系统管理”,再点击子目录“外部数据源”,此时在界面右上方点击“新建数据源(API)”,如图2-15所示。

图2-15 点击“新建数据源(API)”
(2)填写数据源信息。其中,“名称”依实际需求可填写任意内容,本示例中为“对接218服务器”;“服务名”为修改配置文件时所提及的“服务名”,本示例中为“eversheet”;“AppName”与“AppKey”均对应于网关服务器相应的第三方应用授权信息,本示例中为配置网关服务器时创建第三方应用授权信息的对应值;“用户名”与“密码”为登录网关服务器应用空间的用户名与密码;“其他参数值”下添加两个参数,“参数名”分别为“账号”与“密码”,“参数值”分别对应登录目标服务器应用空间的账号与密码。填写完成后点击“确定”,如图2-16所示。

图2-16 新建数据源(API)
2.3.3 注册外部数据源模板
(1)在“系统管理”目录下的“外部数据源”,将出现上文新建的外部数据源,在本示例中即为 “对接218服务器”,如图2-17所示。

图2-17 “对接218服务器”外部数据源
(2)双击打开“对接218服务器”,选中目标服务器中预备接收数据的模板名称,在本示例中为“示例应付款单”,点击左上方“注册”,如图2-18所示。

图2-18 注册目标服务器中接收数据的模板
(3)在点击“注册”后弹出的“新建模板”窗体中,修改“本地数据项名称”中的“创建时间”与“修改时间”,可修改为任意内容,如本示例中分别修改为“本地创建时间”与“本地修改时间”,修改完成点击“确定”(
若不作出修改,则会出现报错)
,如图2-19所示。其余“本地数据项名称”亦可依实际需求修改为任意名称,本示例中采用默认名称。
图2-19 修改“本地数据项名称”中的“创建时间”与“修改时间”
(4)输入“模板编号”并选择“目录”,本示例中输入“SLYFKD”并选择“我的系统”,完成后点击“确定”,如图2-21所示。

图2-21 输入“模板编号”并选择“目录”
(5)进入所选目录下将出现方才创建的外部数据源模板,本示例中的所选目录与外部数据源模板名称分别为“我的系统”与“示例应付款单”,如图2-22所示。

图2-22 新建的外部数据源模板
2.3.4 选取对接数据的模板
选取欲传输数据予目标服务器的模板,可根据实际需求新建模板或采用已有模板,本示例中采用已的模板“示例入库单”,该模板的设计如图2-23所示。

图2-23 “示例入库单”模板的设计
2.3.5 添加业务公式
(1)在对接数据的模板中,点击上方菜单栏的“业务公式”,如图2-24所示。

图2-24 点击“业务公式”
(2)在“业务公式管理”窗体内,选中左侧“保存表单后事件”,点击左下方“添加公式”,如图2-25所示。

图2-25 对“保存表单后事件”添加公式
(3)在“选择目标模板”窗体内选中外部数据源模板后双击,本示例中选择上文注册外部数据源时新建的“示例应付款单”作为目标模板,如图2-26所示。

图2-26 选择目标模板
(4)在“新建业务数据处理公式”窗体中,选择对示例应付款单执行“新建表单”操作(针对外部数据源模板仅支持新建表单,不支持更新表单或删除表单),如图2-27所示。

图2-27 选择“新建表单”操作
(5)对外部数据源模板填入赋值表达式,并输入任意“公式名称”,点击窗体右上方“确定”后保存模板设计,如图2-28所示。

图2-28 填入赋值表达式
2.3.6 效果演示
(1)进入“示例入库单”总表,点击左上方“新建”,填写表单后点击“保存”,如图2-29所示。

图2-29 新建“示例入库单”
(2)此时,登录目标服务器,进入“示例应付款单”总表,便出现一条由业务服务器新增的记录,如图2-30所示。演示完毕。

图2-30 由业务服务器新增至目标服务器的“示例应付款单”
3 示例二:对接JSON格式数据的第三方接口
本示例将演示通过云表对接第三方接口从而实现用云表查询物流信息,以阐明云表对接返回JSON格式数据的第三方接口的详细步骤。本示例中,以192.168.11.63作为网关服务器并取该服务器下的10001应用空间,以http://192.168.11.210:6001/JExpressInfo作为第三方接口调用地址(实际应用中以实际接口调用地址为准)。
3.1 配置网关服务器
3.1.1 新建接口代理模板
欲对接第三方应用实现数据互通,首先需要在网关服务器的“api网关”文件下新建接口代理模板(
默认的网关服务器中无“api网关”文件夹,需咨询客服获取模板库并导入)
,代理模板用以与第三方接口进行数据对接,其设计必须对应第三方接口需要的参数以及返回的数据格式。本示例中的接口需要的参数如表3-1所示,返回的数据格式如表3-2所示。
表3-1 第三方接口所需的参数

表3-2 第三方接口返回的数据格式
本示例中依据第三方接口需要的参数以及所返回的数据格式,将代理模板设计为如图3-1所示。为便于演示,所有数据项的数据类型均定义为“文本”,如图3-2所示。保存模板时可根据实际需求任意设置“模板编号”与“模板名称”,本示例中分别设置为“CXWLXX”与“查询JSON格式物流信息”。

图3-1 代理模板设计样式

图3-2 模板数据项定义
3.1.2 配置JSON接口
(1)在首页左侧的目录中点击“api网关”文件夹,再选中其子目录下的“json接口配置”模板,双击打开,如图3-3所示。

图3-3 打开“json接口配置”总表
(2)打开“json接口设置”总表后,点击左上角“新建”,按表3-3填入配置参数,填写完成后点击保存,如图3-4所示。


图3-4 填写json接口配置信息并点击“保存”
(3)点击“新建传入参数配置”(须保存json接口配置后方可新建传入参数配置),填写“序列化属性映射明细表”,如图3-5所示。

图3-5 新建传入参数配置
(4)新建传入参数配置时,应以第三方接口所需的参数为依据并结合代理模板的设计,表3-4罗列了本示例中传入参数的相应配置。其中,“接口代理模板明细表/字段名称”除了可填入“明细表名称”或“字段名称”以外,针对值为常量的参数还可直接填入其值,如本示例中的“Authorization”。新建完成后如图3-6所示。


图3-6 传入参数配置
(5)点击“新建返回值配置”,填写“序列化属性映射明细表”,如图3-7所示。

图3-7 新建返回值配置
(6)新建返回值配置时,同样也需要以第三方接口返回的数据格式为依据,并结合代理模板的设计,表3-5罗列了本示例中返回值的相应配置。新建返回值配置时需注意一下几点:
①若存在与传入参数一致的值,可不必为该值新建返回值配置,如本示例中的“LogisticCode”与“ShipperCode”;
②“序列化的路径”为所返回JSON格式数据的“名称”前加上“/”,如本示例中的“/Traces”;
③若返回值处于深层时需要在序列化的路径中展开,如“/Nation/Province/City”;
④数组类型的返回值应以“明细表”接收,如本示例中的“/Traces”;
⑤若数组元素内的“名称”与明细表的字段名称不一致时,应在该数组类型的返回值配置中填写“字段映射”,填写格式为“明细表字段名称:JSON格式数据名称”,各字段之间用“,”相连,如本示例中的“收入站点:AcceptStation,收入时间:AcceptTime”(其中的冒号与逗号均须英文字符模式下输入)。

表3-5 返回值配置
(7)如图3-8为返回值“Traces”的配置,填写完成后点击“保存”。以此类推,新建其余返回值配置,新建完成后如图3-9所示。

图3-8 返回值“Traces”的配置

图3-9 返回值配置
3.1.3 填写SP信息
(1)于“系统管理”下的子目录“系统服务”内双击打开“SP信息”,如图3-10所示。

图3-10 打开“SP信息”
(2)填写SP信息。首先,“应用名称”与“SP名称”可按照实际需求填写任意内容,本示例中均填写为“第三方应用”。其次,“类型”同样按需选择,因本示例是通过网络地址调用第三方接口,故选择“HTTP接口协议”。其余内容不填,点击“保存”,如图3-11所示。

图3-11 填写“SP信息”
3.1.4 新建第三方授权信息
在“系统服务”目录下打开并新建第三方应用授权信息,“应用名称”可按实际需求填写任意内容,本示例中填写为“第三方应用”,填写完成后点击“保存”并记录“appName”与“appKey”的值供业务服务器新建外部数据源时使用,如图3-12所示。

图3-12 填写“第三方应用授权列表”
3.2 配置业务服务器
3.2.1 修改配置文件
(1)在安装云表的文件夹下,打开“LatoServer”文件夹内的“Data”文件夹,再往下打开“Data”文件夹下的“conf”文件夹,找到名为“custom.conf”的文件,在本示例中该文件所在的路径为“D:\Latosoft\LatoServer\Data\conf\custom.conf”。如“Data”文件夹下没有名为“conf”的文件夹,则需手动新建一个文件夹并命名为“conf”,而后在“conf”文件夹下新建一个文本文档并命名为“custom.conf”,如图3-13所示。

图3-13 在“Data”文件夹下的“conf”文件夹内新建文本文档
(2)打开“custom.conf”并在内添加配置内容。本示例中添加的配置内容为“10001.网关服务器=http://192.168.11.63:88/10001”,如图3-14所示。其中,“10001”为业务服务器的应用空间号;“网关服务器”为供下一步新建“外部数据源(API)”时使用的“服务名”,实际应用场景中可依需求填写任意内容;“http:// 192.168.11.63:88/10001”为网关服务器应用空间的访问地址(
切勿遗漏"http://"
)。
图3-14 在“custom.conf”中添加配置内容
(3)重启云表服务。打开“云表服务控制中心”点击“关闭服务”,再点击“启动服务”,如图3-16所示。

图3-16 启动云表服务
3.2.2 新建外部数据源(API)
(1)打开云表浏览器登录应用,登录业务服务器,在左侧目录中点击“系统管理”,再点击子目录“外部数据源”,此时在界面右上方点击“新建数据源(API)”,如图3-17所示。

图3-17 点击“新建数据源(API)”
(2)填写数据源信息。其中,“名称”依实际需求可填写任意内容,本示例中为“第三方应用”;“服务名”为修改配置文件时所提及的“服务名”,本示例中为“网关服务器”;“AppName”与“AppKey”均对应于网关服务器相应的第三方应用授权信息,本示例中为配置网关服务器时创建的第三方应用授权信息的对应值;“用户名”与“密码”为登录网关服务器应用空间的用户名与密码。填写完成后点击“确定”,如图3-18所示。

图3-18 新建数据源(API)
3.2.3 注册外部数据源模板
(1)在“系统管理”目录下的“外部数据源”,将出现上文新建的外部数据源,在本示例中即为 “第三方应用”,如图3-19所示。

图3-19 “第三方应用”外部数据源
(2)双击打开“第三方应用”,选中在网关服务器中对接第三方接口的代理模板,在本示例中为“查询JSON格式物流信息”,点击左上方“注册”,如图3-20所示。

图3-20 注册网关服务器中的接口代理模板
(3)“本地数据项名称”既可按需修改,亦可如本示例般采用默认值,如图3-21所示。

图3-21 新建外部数据源模板
(4)输入“模板编号”并选择“目录”,本示例中输入“WLCXAPI”并选择“我的系统”。“模板名称”可采用默认名称,亦可按需作出修改,本示例中修改为“物流查询API”,完成后点击“确定”,如图3-22所示。

图3-22 输入“模板编号”并选择“目录”
3.2.4 选取对接数据的模板
本示例中为便于演示,新建了一个与网关服务器中代理模板设计一致的模板,并命名为“物流查询”,如图3-23所示。在实际应用以实际需求为准,既可新建模板,亦可采用已有模板。

图3-23 “物流查询”模板设计
3.2.5 添加传入参数业务公式
(1)添加状态设置,可任意命名,本示例中命名为提交“提交”,如图3-24所示。

图3-24 添加状态设置
(2)在“业务公式”的“状态改变事件”中,对“提交”添加公式,在弹出窗体中双击选择在外部数据源中注册的模板,本示例中为“物流查询API”,如图3-26所示。

图3-26 选择“物流查询API”作为业务公式的目标模板
(4)选择对“物流查询API”执行“新建表单”操作(针对外部数据源模板仅支持新建表单,不支持更新表单或删除表单),并赋“快递单号”与“快递公司编码”的值予“物流查询API”的对应值,输入任意公式名称,点击“确定”,最后保存模板设计,如图3-27所示。

图3-27 填写业务公式
3.2.6 添加返回数值业务公式
(1)选中外部数据源模板,即“物流查询API”,点击“设计”,如图3-28所示。

图3-28 对外部数据源模板进行设计
(2)点击“业务公式”中选中“提交完成后事件”,点击“添加公式”,选择接收返回值的模板双击打开,本示例中为“物流查询”,如图3-30所示

图3-30 选择接收返回值的目标模板
(3)选择对“物流查询”执行“更新操作”,匹配条件为“本表单.快递单号=物流查询.快递单号”并赋值予“物流查询”的数据项,如图3-31所示。若返回值有不同值还可通过“条件表达式”细化赋值,如本示例中的“物流状态”数据项。

图3-31 填写业务公式对“物流查询”的主表赋值
(4)在“新建业务数据处理公式”左侧点击“明细”,选择数据源为“本表单.物流轨迹”,对“物流查询.明细”执行“更新记录”操作,匹配条件为“本表单.物流轨迹.收入时间=物流查询.明细.收入时间”,同时勾选“不存在时新增一条记录”,再对“物流查询.明细”进行赋值,最后输入任意公式名称并保存模板,如图3-32所示。

图3-32填写业务公式对“物流查询”的明细表赋值
3.2.7 效果演示
(1)打开“物流查询”总表,点击新建,如图3-33所示。

图3-33 打开“物流查询”总表
(2)填入第三方接口所需的参数,本示例中所需参数即为“快递单号”与”快递公司编码”,如分别填入“780088868008”与“ZTO”,点击状态数据项“提交”按钮,如图3-34所示。

图3-34 填入参数后点击“提交”
(3)提交后即可通过上述一系列配置,将参数传入至第三方接口,并从中获取所需的返回值。返回至主表的数据会立即显示,返回至明细表的数据点击界面左上方的“刷新图标”后即可显示,如图-3-36所示。

图3-36 刷新后即可见返回至明细表的数据
4 示例三:对接XML格式数据的第三方接口
本示例将演示通过云表对接第三方接口从而实现用云表识别车辆资料,以阐明云表对接返回XML格式数据的第三方接口的详细步骤。本示例中,以192.168.11.63作为网关服务器并取该服务器下的10001应用空间,以http://192.168.11.210:6001/vehicle_vin/check作为第三方接口调用地址(实际应用中以实际接口调用地址为准)。
4.1 配置网关服务器
4.1.1 新建接口代理模板
欲对接第三方应用实现数据互通,首先需要在网关服务器的“api网关”文件下新建接口代理模板(
默认的网关服务器中无“api网关”文件夹,需咨询客服获取模板库并导入
),代理模板用以与第三方接口进行数据对接,其设计必须对应第三方接口需要的参数以及返回的数据格式。本示例中的接口需要的参数如表4-1所示,返回的数据格式如表4-2所示。


本示例中依据第三方接口需要的参数以及所返回的数据格式,将代理模板设计为如图4-1所示。为便于演示,所有数据项的数据类型均定义为“文本”,如图4-2所示。保存模板时可根据实际需求任意设置“模板编号”与“模板名称”,本示例中分别设置为“SBCLZL”与“识别XML格式车辆资料”。

图4-1 代理模板设计样式

图4-2 代理模板数据项定义
4.1.2 配置XML接口
(1)在首页左侧的目录中点击“api网关”文件夹,再选中其子目录下的“xml接口配置”模板,双击打开,如图4-3所示。

图4-3 打开“xml接口配置”总表
(2)打开“xml接口设置”总表后,点击左上角“新建”,按表4-3填入配置参数,填写完成后点击保存,如图4-4所示。


图4-4 填写xml接口配置信息并点击“保存”
(3)点击“新建传入参数配置”(须保存xml接口配置后方可新建传入参数配置),填写“序列化属性映射明细表”,如图4-5所示。

图4-5 新建传入参数配置
(4)新建传入参数配置时,应以第三方接口所需的参数为依据并结合代理模板的设计,表4-4罗列了本示例中传入参数的相应配置。其中,“接口代理模板明细表/字段名称”除了可填入“明细表名称”或“字段名称”以外,针对值为常量的参数还可直接填入其值,如本示例中的“Authorization”。新建完成后如图4-6所示。


图4-6 传入参数配置
(5)点击“新建返回值配置”,填写“序列化属性映射明细表”,如图4-7所示。

图4-7 新建传入参数配置
(6)新建返回值配置时,同样也需要以第三方接口返回的数据格式为依据,并结合代理模板的设计,表4-5罗列了本示例中返回值的相应配置。新建返回值配置时需注意一下几点:
①若存在与传入参数一致的值,可不必为该值新建返回值配置,如本示例中的“vin”;
②“序列化的路径”为所返回XML格式数据的“标签”前加上“/”,如本示例中的“/result”;
③若返回值处于深层节点时需要在序列化的路径中展开,如本示例中的“/result/data/detail/manufacturer”;
④数组类型的返回值应以“明细表”接收,如本示例中的“carlist”;
⑤若数组元素内的“名称”与明细表的字段名称不一致时,应在该数组类型的返回值配置中填入“字段映射”,填写格式为“明细表字段名称:XML格式数据标签”,字段之间用“,”相连,如本示例中的“车型编号:carId,车型名称:carName”(其中的冒号与逗号均须英文字符模式下输入)。


(7)如图4-8为返回值“code”的配置,填写完成后点击“保存”。以此类推,新建其余返回值配置,新建完成后如图4-9所示。

图4-8 返回值“code”的配置

图4-9 返回值配置
4.1.3 填写SP信息
(1)于“系统管理”下的子目录“系统服务”内双击打开“SP信息”,如图4-10所示。

图4-10 打开“SP信息”
(2)填写SP信息。首先,“应用名称”与“SP名称”可依据实际需求填写任意内容,本示例中均填写为“第三方应用”。其次,“类型”同样按需选择,因本示例是通过网络地址调用第三方接口,故选择“HTTP接口协议”。其余内容不填,点击“保存”,如图4-11所示。

图4-11 填写“SP信息”
4.1.4 新建第三方授权信息
在“系统服务”目录下打开并新建第三方应用授权信息,“应用名称”可按实际需求填写任意内容,本示例中填写为“第三方应用”,填写完成后点击“保存”并记录“appName”与“appKey”的值供业务服务器新建外部数据源时使用,如图4-12所示。

图4-12 填写“第三方应用授权列表”
4.2 配置业务服务器
4.2.1 修改配置文件
(1)在安装云表的文件夹下,打开“LatoServer”文件夹内的“Data”文件夹,再往下打开“Data”文件夹下的“conf”文件夹,找到名为“custom.conf”的文件,在本示例中该文件所在的路径为“D:\Latosoft\LatoServer\Data\conf\custom.conf”。如“Data”文件夹下没有名为“conf”的文件夹,则需手动新建一个文件夹并命名为“conf”,而后在“conf”文件夹下新建一个文本文档并命名为“custom.conf”,如图4-13所示。

图4-13 在“Data”文件夹下的“conf”文件夹内新建文本文档
(2)打开“custom.conf”并在内添加配置内容。本示例中添加的配置内容为“10001.网关服务器=http://192.168.11.63:88/10001”,如图4-14所示。其中,“10001”为业务服务器的应用空间号;“网关服务器”为供下一步新建“外部数据源(API)”时使用的“服务名”,实际应用场景中可依需求填写任意内容;“http:// 192.168.11.63:88/10001”为网关服务器应用空间的访问地址(
切勿遗漏"http://"
)。
图4-14 在“custom.conf”中添加配置内容
(3)重启云表服务。打开“云表服务控制中心”点击“关闭服务”,图4-16 启动云表服务待关闭完成后再点击“启动服务”,如图4-16所示。

图4-16 启动云表服务
4.2.2 新建外部数据源(API)
(1)打开云表浏览器登录应用,登录业务服务器,在左侧目录中点击“系统管理”,再点击子目录“外部数据源”,此时在界面右上方点击“新建数据源(API)”,如图4-17所示。

图4-17 点击“新建数据源(API)”
(2)填写数据源信息。其中,“名称”依实际需求可填写任意内容,本示例中为“第三方应用”;“服务名”为修改配置文件时所提及的“服务名”,本示例中为“网关服务器”;“AppName”与“AppKey”均对应于网关服务器相应的第三方应用授权信息,本示例中为配置网关服务器时创建的第三方应用授权信息的对应值;“用户名”与“密码”为登录网关服务器应用空间的用户名与密码。填写完成后点击“确定”,如图4-18所示。

图4-18 新建数据源(API)
4.2.3 注册外部数据源模板
(1)回到“系统管理”目录下的“外部数据源”,将出现上文新建的外部数据源,在本示例中即为 “第三方应用”,如图4-19所示。

图4-19 “第三方应用”外部数据源
(2)双击打开“第三方应用”,选中在网关服务器中对接第三方接口的代理模板,在本示例中为“识别XML格式车辆资料”,点击左上方“注册”,如图4-20所示。

图4-20注册网关服务器中的接口代理模板
(3)可根据需要修改“本地数据项名称”,亦可采用默认值,本示例中采用默认值,点击“确定”,如图4-21所示。

图4-21 新建外部数据源模板
(4)输入“模板编号”并选择“目录”,本示例中输入“CLSBAPI”并选择“我的系统”。“模板名称”可采用默认名称,亦可按需作出修改,本示例中修改为“车辆识别API”,完成后点击“确定”,如图4-22所示。

图4-22 输入“模板编号”并选择“目录”
4.2.4 选取对接数据的模板
本示例中为便于演示,新建了一个与网关服务器中代理模板设计一致的模板,并命名为“车辆识别”,如图4-23所示。在实际应用以实际需求为准,既可新建模板,亦可采用已有模板。

图4-23 “车辆识别”模板设计
4.2.5 添加传入参数业务公式
(1)添加状态设置,可任意命名,本示例中命名为提交“提交”,如图4-24所示。

图4-24 添加状态设置
(2)在“业务公式”的“状态改变事件”中,对“提交”添加公式,在弹出窗体中双击选择在外部数据源中注册的模板,本示例中为“车辆识别API”,如图4-26所示。

图4-26 选择“车辆识别API”作为业务公式的目标模板
(4)选择对“车辆识别API”执行“新建表单”操作(针对外部数据源模板仅支持新建表单,不支持更新表单或删除表单),并赋“车架号”的值予“物流查询API”的对应值,输入任意公式名称后点击“确定”,最后保存模板设计,如图4-27所示。

图4-27 输入“模板编号”并选择“目录”
4.2.6 添加返回数值业务公式
(1)选中外部数据源模板,即“车辆识别API”,点击“设计”,如图4-28所示。

图4-28 对外部数据源模板进行设计
(2)点击“业务公式”中选中“提交完成后事件”,点击“添加公式”,如图4-29所示。

图4-29在外部数据源模板添加业务公式
(3)选择接收返回值的模板双击打开,本示例中为“车辆识别”,如图4-30所示。

图4-30 选择“车辆查询”作为目标模板
(4)选择对“车辆识别”执行“更新操作”,匹配条件为“本表单.车架号=车辆识别.车架号”,并赋值予“车辆识别”的数据项,如图4-31所示。若返回值有不同值还可通过“条件表达式”细化赋值,如本示例中的“状态信息”数据项。

图4-31 填写业务公式对“车辆识别”的主表赋值
(5)在“新建业务数据处理公式”左侧点击“明细”,选择数据源为“本表单.物流轨迹”,对“物流查询.明细”执行“更新记录”操作,匹配条件为“本表单.物流轨迹.收入时间=物流查询.明细.收入时间”,同时勾选“不存在时新增一条记录”,再对“物流查询.明细”进行赋值,最后输入任意公式名称并保存模板,如图4-32所示。

图4-32 填写业务公式对“车辆识别”的明细表赋值
4.2.7 效果演示
(1)打开“物流查询”总表,点击新建,如图4-33所示。

图4-33 打开“车辆识别”总表
(2)填入第三方接口所需的参数,本示例中所需参数即为“车架号”,如填入“LFXZXPOMXF0035416”,点击状态数据项“提交”按钮,如图4-34所示。

图4-34 填入参数后点击“提交”
(3)提交后即可通过上述一系列配置,将参数传入至第三方接口,并从中获取所需的返回值。返回至主表的数据会立即显示,返回至明细表的数据点击界面左上方的“刷新图标”后即可显示,如图4-36所示。

图4-36 刷新后即可见返回至明细表的数据
5 示例四:对接钉钉考勤
本示例将阐明对接钉钉之后获取钉钉打卡考勤结果的详细步骤。
对接钉钉考勤须在已对接钉钉的基础之上进行,故本示例预设的前提便是已对接钉钉。如若未对接钉钉,可参考云表官方网站帮助文档中“对接钉钉配置”等相关内容,对接上钉钉后方可对接钉钉考勤。
此外,还需联系云表官方客服,获取关于钉钉考勤的模板库及钉钉考勤网关授权信息,用于对接钉钉考勤时导入模板库与配置外部数据源。
5.1 导入“钉钉考勤业务服务器模板”
(1)联系云表官方客服获取到钉钉考勤的模板库后,打开“云表服务器控制中心”,在上方菜单栏中点击“工具”,选择“导入模板”,如图5-1所示。

图5-1 点击“工具”下的“导入模板”
(2)输入“用户名”与“密码”,点击“登录”以登录目标应用,如图5-2所示。

图5-2 输入“用户名”与“密码”进行登录
(3)点击“文件夹图标”,选择模板库文件,如名为“钉钉考勤业务服务器模板2008120900.epk”的模板库,选择后点击“下一步”,如图5-3所示。

图5-3 点击“文件夹图标”选择模板库文件
(4)如需备份数据库则点击“否”,并另行备份数据库,如无需备份则点击“是”,如图5-4所示。

图5-4 确定导入模板库前是否需要备份数据库
(5)勾选除“about”与“login”以外的所有模板,共10个,点击“导入”即可完成钉钉考勤模板库的导入,如图5-5所示。

图5-5 勾选除“about”与“login”以外的共10个模板进行导入
5.2 修改配置文件
(1)在安装云表的文件夹下,打开“LatoServer”文件夹内的“Data”文件夹,再往下打开“Data”文件夹下的“conf”文件夹,找到名为“custom.conf”的文件,在本示例中该文件所在的路径为“D:\Latosoft\LatoServer\Data\conf\custom.conf”。如“Data”文件夹下没有名为“conf”的文件夹,则需手动新建一个文件夹并命名为“conf”,而后在“conf”文件夹下新建一个文本文档并命名为“custom.conf”,如图5-6所示。

图5-6 在“Data”文件夹下的“conf”文件夹内新建文本文档
(2)打开“custom.conf”并在内添加配置内容。本示例中添加的配置内容为“10001.gw_dingtalk_dev=http://**************************”,如图5-7所示。其中,“10001”为业务服务器的应用空间号;“gw_dingtalk_dev”为供下一步“配置外部数据源”时所使用的服务名(
不可更改)
;“http://**************************”为本示例中的钉钉考勤网关服务器访问地址(切勿遗漏"http://"
),实际应用中以从云表官方客服处获取到的地址为准。
图5-7 在“custom.conf”中添加配置内容
(3)重启云表服务。打开“云表服务控制中心”点击“关闭服务”待关闭完成后再点击“启动服务”,如图5-9所示。

图5-9 启动云表服务
5.3 配置外部数据源“lato_dingtalk”
(1)登录业务服务器,点击首页目录栏中的“外部数据源”,即可见从模板库中导入的外部数据源“lato_dingtalk”,选中“lato_dingtalk”,点击“设计”,如图5-10所示。

图5-10 选中外部数据源“lato_dingtalk”点击“设计”
(2)外部数据源“lato_dingtalk”的设计界面如图5-11所示。其中,“服务名”填入修改配置文件时所写的“gw_dingtalk_dev”;“API接口配置”中填入
从云表官方客服处获取到
的AppName、AppKey、用户名以及密码;“其他参数值”中填入对接钉钉时的AppKey、AppSecret以及钉钉API地址。填入上述信息后点击“确定”即完成了外部数据源的配置。
图5-11 填写外部数据源“lato_dingtalk”的配置信息
5.4 添加钉钉接口调用权限
在请求获取钉钉数据前,还必须申请特定的钉钉接口权限。云表对接钉钉考勤后可获取的数据分别有“钉钉所有部门列表”、“钉钉所有人员列表”以及“钉钉打卡考勤结果”,而获取以上数据所需的钉钉接口权限则有“通讯录部门信息读权限”、“通讯录部门成员读权限”、“成员信息读权限”以及“查询企业考勤数据权限”。上述三类数据各自所需要的接口权限如表5-1所示。

申请钉钉接口权限的步骤如下:
(1)访问钉钉开放平台官方网站:
https://developers.dingtalk.com
,点击页面上方菜单栏中的“登录开发者后台”,如图5-12所示。
图5-12 “钉钉开放平台”官方网站
(2)使用手机钉钉扫码登录开发者后台,如图5-13所示。

图5-13 使用手机钉钉扫码登录
(3)选择云表对接钉钉时所对接到的组织,如图5-14所示。

图5-14 选择云表所对接的钉钉组织
(4)在页面上方菜单栏中指向“应用开发”,点选“企业内部开发”,如图5-15所示。

图5-15 进入“企业内部开发”
(5)点击对接钉钉时创建的微应用,本示例中为“s微应用测试1”,如图5-16所示。

图5-16 点击对接钉钉时创建的微应用
6)点击左侧菜单栏中的“权限管理”,如图5-17所示。

图5-17 点击左侧菜单栏中的“权限管理”
(7)在内嵌页面中,点选框里勾选“全部员工”,菜单栏里点击“通讯录管理”,如图5-18所示。

图5-18 勾选“全体员工”并点击“通讯录管理”
(8)拖动内嵌页面的滚动条,找到“通讯录部门信息读权限”、“通讯录部门成员权限”与“成员信息读权限”,在该三项权限右侧均点击“申请权限”,如图5-19所示。

图5-19 申请所需的“通讯录管理”权限
(9)在内嵌页面的菜单栏中点击“考勤”,如图5-20所示。

图5-20 点击“考勤”菜单
(10)找到“查询企业考勤数据权限”,点击“申请权限”,如图5-21所示。

图5-21 申请“查询企业考勤数据权限”
5.5 请求获取钉钉数据
申请完成所需的钉钉接口权限后,回到业务浏览器中,便可通过对“钉钉考勤API请求”文件夹下的三个模板新建表单以向网关服务器发送请求,从而实现在云表中利用钉钉的接口获取钉钉考勤相关数据,获取到数据将返回至“钉钉考勤结果”文件夹下的三个对应模板内。
5.5.1 获取部门列表
(1)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤API请求”,在主界面中双击打开“请求钉钉获取部门列表”,如图5-22所示。

图5-22 双击打开“请求钉钉获取部门列表”
(2)在“请求钉钉获取部门列表”总表中,点击“新建”,如图5-23所示。

图5-23 在“请求钉钉获取部门列表”点击“新建”
(3)点击“保存”即可向网关服务器发送请求,如图5-24所示,网关服务器将调用钉钉的接口获取到部门列表信息,最终获取到的数据将返回值业务服务器“钉钉考勤结果”文件夹下的“钉钉所有部门列表”内。

图5-24 保存“请求钉钉获取部门列表”
(4)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤结果”,在主界面中双击打开“钉钉所有部门列表”,如图5-25所示。

图5-25 打开“钉钉所有部门列表”
(5)至此,即可获取到钉钉所有部门列表,如图5-26所示。

图5-26 获取到钉钉所有部门列表
5.5.2 获取所有人员列表
(1)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤API请求”,在主界面中双击打开“请求钉钉获取所有人员列表”,如图5-27所示。

图5-27 双击打开“请求钉钉获取所有人员列表”
(2)在“请求钉钉获取所有人员列表”总表中,点击“新建”,如图5-28所示。

图5-28 在“请求钉钉获取所有人员列表”点击“新建”
(3)点击“保存”即可向网关服务器发送请求,如图5-29所示,网关服务器将调用钉钉的接口获取到人员列表信息,最终获取到的数据将返回值业务服务器“钉钉考勤结果”文件夹下的“钉钉所有人员列表”内。

图5-29 保存“请求钉钉获取所有人员列表”
(4)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤结果”,在主界面中双击打开“钉钉所有人员列表”,如图5-30所示。

图5-30 打开“钉钉所有人员列表”
(5)至此,即可获取到钉钉所有部门列表,如图5-31所示。

图5-31 获取到钉钉所有人员列表
5.5.3 获取考勤打卡结果
(1)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤API请求”,在主界面中双击打开“请求获取钉钉考勤打卡结果”,如图5-32所示。

图5-32 双击打开“请求获取钉钉考勤打卡结果”
(2)在“请求获取钉钉考勤打卡结果”总表中,点击“新建”,如图5-33所示。

图5-33 在“请求钉钉获取部门列表”点击“新建”
(3)如需获取指定日期的考勤结果,则应选择“考勤日期”,否则默认获取前一天的考勤结果,点击“保存”即可向网关服务器发送请求,如图5-34所示,网关服务器将调用钉钉的接口获取到考勤打卡结果,最终获取到的数据将返回值业务服务器“钉钉考勤结果”文件夹下的“钉钉打卡考勤结果”内。

图5-34 保存“请求钉钉获取部门列表”
(4)点击首页目录中的“系统管理”,打开其子目录“钉钉考勤管理”下的“钉钉考勤结果”,在主界面中双击打开“钉钉打卡考勤结果”,如图5-35所示。

图5-35 打开“钉钉打卡考勤结构”
(5)至此,即可获取到钉钉打卡考勤结果,如图5-36所示。

图5-36 获取到钉钉打卡考勤结果
6 示例五:对接WebService第三方接口
本示例将演示通过云表对接第三方接口从而实现用云表查询电话号码信息,以阐明云表对接WebService的第三方接口的详细步骤。本示例中,以192.168.11.132作为网关服务器并取该服务器下的10001应用空间,以http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx作为第三方接口调用地址(实际应用中以实际接口调用地址为准)。
6.1 配置网关服务器
6.1.1 新建接口代理模板
欲对接第三方应用实现数据互通,首先需要在网关服务器的“api网关”文件下新建接口代理模板
(默认的网关服务器中无“api网关”文件夹,需咨询客服获取模板库并导入
),代理模板用以与第三方接口进行数据对接,其设计必须对应第三方接口定义的请求格式以及响应格式。本示例中的接口所定义的请求格式如表6-1所示,响应格式如表6-2所示。

本示例中,依据第三方接口请求与响应的数据格式,可知请求时需传入参数“mobileCode”与“userID”,响应时数据返回于元素“getMobileCodeInfoResult”中,故将代理模板设计为如图6-1所示。为便于演示,所有数据项的数据类型均定义为“文本”,如图6-2所示。保存模板时可根据实际需求任意设置“模板编号”与“模板名称”,本示例中均设置为“查询电话号码信息”。注意,若第三方接口请求或响应的数据格式中存在数组,则应当于代理模板设计时增添相应的明细表用以传入参数或接收返回值。

图6-1 代理模板设计样式

图6-2 模板数据项定义
6.1.2 配置WebService接口
(1)在首页左侧的目录中点击“api网关”文件夹,再选中其子目录下的“json接口配置”模板,双击打开,如图6-3所示。

图6-3 打开“webservice接口配置”总表
(2)打开“webservice接口设置”总表后,点击左上角“新建”,按表6-3填入配置参数,填写完成后点击保存,如图6-4所示。


图6-4 填写webservice接口配置主表配置项并点击“保存”
(3)于表单左上角的标签中切换至“命名空间定义”,根据接口请求与响应的格式,将所有“xmlns(XML Namespace)”分别填入“别名”与“URL”中,如图6-5所示。。如遇别名缺省的“xmlns”。须自行设置任意别名并将URI填入,并必须于“序列化的路径”中在使用该别名缺省的“xmlns”的所有元素及其子元素前加上“自行定义的别名:”。如本示例接口数据格式中的“<getMobileCodeInfo xmlns="http://WebXml.com.cn/">”使用了别名缺省的“xmlns”,故为“http://WebXml.com.cn/”起别名“alias”填入“命名空间定义”中,并于稍后配置“序列化的路径”时将该元素及其子元素前统统加上“alias:”。此外,“命名空间定义”中以URI为准,相同URI的别名无需重复填入,可共用同一个URI一致的别名。

图6-5 填入“命名空间定义”
(4)点击“新建传入参数配置”(
须保存webservice接口配置后方可新建传入参数配置
),填写“序列化属性映射明细表”,如图6-6所示。
图6-6 新建传入参数配置
(5)新建传入参数配置时,应以第三方接口所需的参数为依据并结合代理模板的设计,表6-4罗列了本示例中传入参数的相应配置,新建完成后如图6-7所示。其中,“序列化的类型”应根据请求和响应的数据格式选取,如实际应用场景中有需要时可选择“7:URL参数”或“8:请求Header”等等。并且,第三方接口数据格式中的数组对应于云表的“明细表”,数据格式中若存在数组则应当于设计代理模板是增添明细表用以传入参数或接收返回值。此外,WebService接口的“序列化的路径”无需以“/”开头。


图6-7 传入参数配置
(6)新建返回值配置,新建完成后如图6-8所示。新建时,同样也需要以第三方接口返回的数据格式为依据,并结合代理模板的设计,表6-5罗列了本示例中返回值的相应配置。新建返回值配置时需注意一下几点:
①“序列化的路径”无需以“/”开头;
②若返回值处于深层时需要在序列化的路径中展开;
③数组类型的返回值应以“明细表”接收;
④若数组元素内的“名称”与明细表的字段名称不一致时,应在该数组类型的返回值配置中填写“字段映射”,填写格式为“明细表字段名称:接口格式元素名称”,各字段之间用“,”相连。


图6-8 返回值配置
6.1.3 填写SP信息
(1)于“系统管理”下的子目录“系统服务”内双击打开“SP信息”,如图6-9所示。

图6-9 打开“SP信息”
(2)填写SP信息。首先,“应用名称”与“SP名称”可按照实际需求填写任意内容,本示例中均填写为“第三方应用”。其次,“类型”同样按需选择,因本示例是通过网络地址调用第三方接口,故选择“HTTP接口协议”。其余内容不填,点击“保存”,如图6-10所示。
6.1.4 新建第三方授权信息
在“系统服务”目录下打开并新建第三方应用授权信息,“应用名称”可按实际需求填写任意内容,本示例中填写为“第三方应用”,填写完成后点击“保存”并记录“appName”与“appKey”的值供业务服务器新建外部数据源时使用,如图6-11所示。

图6-11 填写“第三方应用授权列表”
6.2 配置业务服务器
配置业务服务器的步骤与对接Json数据格式接口及XML数据格式接口极度相似,故此处不再赘述,详细步骤可参考本操作手册第3章“示例二:对接Json数据格式的第三方接口” 中的第2节“配置业务服务器”或第4章“示例三:对接XML数据格式的第三方接口”中的第2节“配置业务服务器”。