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

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

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



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



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



显示如下:



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



勾选方法



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



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


取值需要:


结果赋值:




测试结果



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



勾选方法



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



规则如下:



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



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



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



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



规则配置如下图:



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



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



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



规则编写如下:



测试结果



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


猜你喜欢

转载自silencelight.iteye.com/blog/2250077