Skip to main content

WebService 规则调用

webService 规则可以通过 URL 调用其他 V 平台系统 WebService 或通过 URL 调用第三方 WebService ,得到执行结果。

1. 功能介绍

webService 规则可以通过 URL 调用其他 V 平台系统 WebService 或通过 URL 调用第三方 WebService ,得到执行结果。

下面将通过 2 个不同的场景,讲解 WebService 规则的使用:

  • 第一个例子是调用 V 规范服务方类型的 webService,实现将输入参数赋值给输出参数。

  • 第二个例子是调用第三方类型的 webService,实现的功能是获得天气预报 WebServices 支持的洲、国内外省份和城市信息。

案例下载

2. 场景一:V 规范服务类型

2.1 创建 webService 服务方法

在开发系统中,创建构件方法 webServiceRule(webService发布API) ,该 API 方法将作为 webService 服务发布,可通过调用 webService 规则远程执行该方法,也可以通过 VWS_CallWebService(调用webservice服务构件方法) API引用该方法。

info

通过 VWS_CallWebService(调用webservice服务构件方法) API 调用 webService 服务发布方法的具体使用,可以参考:WebService 发布

在本案例中,构件方法 webServiceRule(webService发布API) 主要简单实现将入参赋值给出参的配置逻辑,在实际场景中,可以按需配置。

img

(1)方法输入

img

(2)方法输出

img

(3)规则配置

① 给界面实体/控件/变量赋值【inputName→outputName】

img

② 实体间复制记录【inputEntity→outputEntity】

img

2.2 发布 webService 服务方法

在执行平台中,设置构件方法 webServiceRule(webService发布API) 发布,其他 V 服务才可以调用,本服务可以调用。

info

【WS服务管理】菜单的设置,参考:WebService 发布

img

img

(1)发布服务

设置服务之后,需要发布服务,才产生对应的 wsdl 服务地址,并且被调用。

img

(2)服务地址获取

发布后,可以通过 服务地址/services 查看已发布 V WebService 列表,点击 wsdl 地址查看最终的服务地址。

① 查看 V WebService 列表

img

② 获取服务地址

img

2.3 调用 webService 规则

在本案例中,通过同一个 V 服务调用webService服务方法,在实际项目中,可以在不同 V 服务调用该方法。

下面,定义构件方法 callWebService01(调用webService(V规范))

img

(1)方法输入

img

(2)方法输出

img

(3)规则配置

① 新增实体记录【inputVarEntity-名称1】

img

② 新增实体记录【inputVarEntity-名称2】

img

③ 调用WebService(V规范)

img

参数注意事项

(1)入参个数要与所调用的 webService 方法的入参个数一致。

(2)调用 webService 提供的方法时,输入参数是按照次序去匹配,而不是输入参数的名称。

img

(3)当类型为实体时,手动写入的实体字段名一定要与 webService 的输入参数实体中的字段名一致。

img

2.4 效果预览

通过窗体定义,调用构件方法 callWebService01(调用webService(V规范)) ,显示对应的返回值。

img

img

按钮事件配置:

img

部署预览,点击【调用webService】按钮,查看效果。

img

3. 场景二:第三方服务类型

3.1 第三方 webService 地址

本案例调用第三方类型的 webService,实现的功能是获得天气预报 WebServices 支持的洲、国内外省份和城市信息。

3.2 调用 webService 规则

参数注意事项

(1)入参

  • 根据第三方 webService 的 wsdl 文档获取需要调用的方法的输入参数个数、类型和次序。
  • 在使用【 webService 规则】调用服务提供的方法时,需要注意输入参数的个数、类型和次序要对应得上。

(2)出参

  • 第三方法返回值和 V 规范的返回值有些不同,返回的数据会转换成 json 的格式,只能用 文本类型 接收数据。

在本案例中,定义构件方法 callWebService02(调用webService(第三方)) 调用该 webService 方法。

img

(1)方法输出

编码名称类型初始值描述
outputVarValue输出值文本用于接收第三服务 wsdl 地址对应方法的返回值

(2)规则配置——调用WebService(第三方)

img

3.4 效果预览

通过窗体定义,调用构件方法 callWebService02(调用webService(第三方)) ,显示对应的返回值。

img

按钮事件配置:

img

部署预览,点击【调用webService】按钮,查看效果。

img