VRS规则引擎WebService搭建及调用 <2>

VRS调用WebService服务
使用VisualRulesSolution规则配置器作为客户端调用WebService服务。

新建规则包Client
点击工程“test1”—“新建规则包”,并命名为Client,如下图:

VRS规则引擎WebService搭建及调用 <2>_第1张图片

点击规则包“Client”下的“对象库”—“添加web服务向导”,如下图:

VRS规则引擎WebService搭建及调用 <2>_第2张图片

弹出窗体,在wsdl地址对应的文本框中输入http://localhost/webService_cxf/webServices/typeService?wsdl,点击查找,勾选方法,如下图:

VRS规则引擎WebService搭建及调用 <2>_第3张图片

显示如下:

VRS规则引擎WebService搭建及调用 <2>_第4张图片

调用日期型接口
新建规则包“date”,添加web服务,选择如下服务,勾选参数,如下图:

VRS规则引擎WebService搭建及调用 <2>_第5张图片

勾选方法

VRS规则引擎WebService搭建及调用 <2>_第6张图片

对象库中参数定义,如下图:

VRS规则引擎WebService搭建及调用 <2>_第7张图片

规则配置如下,其中
参数赋值:


取值需要:


结果赋值:


VRS规则引擎WebService搭建及调用 <2>_第8张图片

测试结果

VRS规则引擎WebService搭建及调用 <2>_第9张图片

调用数组型接口
新建规则包“array”,添加web服务,选择如下服务,勾选参数,其中“arg2”参数类型为base64Binary需要手动修改成base64Binary[],修改后点回车键,如下图:

VRS规则引擎WebService搭建及调用 <2>_第10张图片

勾选方法

VRS规则引擎WebService搭建及调用 <2>_第11张图片

对象库中添加如下参数,其中unsignedShort[]和base64Binary[]类型是选择不出来的,我们可以手动写出这些类型,修改后点回车键,参数如下:

VRS规则引擎WebService搭建及调用 <2>_第12张图片

规则如下:

VRS规则引擎WebService搭建及调用 <2>_第13张图片

测试结果,unsignedShort[]和base64Binary[]类型初始输入值不需要逗号“,”分隔

VRS规则引擎WebService搭建及调用 <2>_第14张图片

调用 map型接口
新建规则包“map”,添加web服务,选择如下服务,勾选参数,如下图

VRS规则引擎WebService搭建及调用 <2>_第15张图片

勾选方法,其中返回结果集的方法的类型需要改成“map”,更改的方式是在属性中的“结果类型”和“返回值类型”对应的属性值修改为“map”,如下图:

VRS规则引擎WebService搭建及调用 <2>_第16张图片

设置如下参数,没有的类型,手动修改,在点击回车键,如arg3

VRS规则引擎WebService搭建及调用 <2>_第17张图片

规则配置如下图:

VRS规则引擎WebService搭建及调用 <2>_第18张图片

测试结果,其中arg3输入“男”得到的结果为“30007”,因此我们建议,尽量用String类型代替char类型,如下图:

VRS规则引擎WebService搭建及调用 <2>_第19张图片

调用 list<String>型接口
新建规则包“listString”,添加web服务,选择如下服务,勾选参数,如下图

VRS规则引擎WebService搭建及调用 <2>_第20张图片

勾选方法,myEclipse中编写的java方法,返回类型为List<String>,在这将以string[]作为返回类型,如下图:

VRS规则引擎WebService搭建及调用 <2>_第21张图片

规则编写如下:

VRS规则引擎WebService搭建及调用 <2>_第22张图片

测试结果

VRS规则引擎WebService搭建及调用 <2>_第23张图片

总结说明
char类型不能很好的应用,解决方法是用String类型代替。
char类型在VisualRules 中的web服务中unsignedShort,为了能匹配,在规则对象中定义参数的时候也许设置为unsignedShort。
byte类型在VisualRules 中的web服务中base64Binary,为了能匹配,在规则对象中定义参数的时候也许设置为base64Binary。
list<E>类型在VisualRules 中的web服务中自动转化成E[],如list<String>在web服务中String[]。
在VisualRules中的需要的类型如果选择不出来,可以手动修改,修改后点击回车键,web服务中返回值的类型需要在属性中修改。


你可能感兴趣的:(规则引擎,VRS)