零售/批发

ilog jrules 问题咨询

ILOG JRULE版本V7.0.3开发机版本WINxp sp4实现目标:因为原来做的东西都是通过将已编写好的RULES应用以webservice的方式发布到RES上以供其他业务系统调用,在业务变更时通常需要修改RULES的webservices接口,接口相对比较死板,不够灵活。考虑到RULES应用越来越多,频繁的接口更...显示全部
ILOG JRULE版本V7.0.3
开发机版本WINxp sp4

实现目标:
因为原来做的东西都是通过将已编写好的RULES应用以webservice的方式发布到RES上以供其他业务系统调用,在业务变更时通常需要修改RULES的webservices接口,接口相对比较死板,不够灵活。

考虑到RULES应用越来越多,频繁的接口更改势必造成不必要的开发工作量,于是想将接口参数以XML的形式进行传输,所以想用dom4j将入参(入参中一般只有一级节点)中XML各节点转化到变量集中进行存储,以方便在后续规则中使用。

开发过程描述:
我先建立了一个XOM(名为HappigoRulesXom的工程),里面写了一个用来解析XML的类(用DOM4J将XML解析成Map),其类名为:xmlTransf

ILOG JRULE请教1-526.png


        
另外happigoRulesAttribute类是用来做入参定义的(另外那个getStaticCondition的类是做别的用的,没有引入到BOM条目中去,此略过)
      

建立RULE工程,创建两个条目分别对应到上面XOM中建立的两个类



建立VariableSet变量集,并对应到入参中的各节点(入参中分别有flag,Function_id,staff_id,staff_name,subsys_id),我的本意是通过调用bom条目中的xmlToMap的帮助方法来将入参中XML的各节点值储存到VariableSet中,以供后续之用


建立FxXmlToMap函数(另外那个函数没有用到,此处略过),完成入参至VariableSet的转化

        
建立主流程并设置Init Action



设置入参,测试,在规则结束的时候System.out.println(staff_id)


输入结果准确无误(即成功println出VariableSet中的staff_id 的值)


至此都无问题。
创建RuleApp并发布到本机RES服务器



从控制台的信息看到发布成功。
登陆RES控制台可以看到应用正常




以下就是我要问的问题了:
        
我在该页面上点击Get HTDS WSDL for the latest ruleset version时,直接报错,截图如下:



我的其他应用(没有用到帮助方法的其他应用在查看webservices描述时候是可以正常看到详细的描述内容的),就这个看不到,且业务系统调用该规则时也报同样的错误信息。

是我哪里配置出了问题,还是如果规则里使用了帮助方法,就不能采用webservices的方式进行调用了呢,如果我需要这个规则对外提供webservices的服务,我该怎么办?

我觉得应该是XOM里面的CLASS文件及DOM4J.JAR没有打包进RES的缘故,因为我在控制台的show Archive Content中也没发现有CLASS及dom4j.jar的包(如下图),如果是这个原因,那我该怎么样使这些文件也能顺利的发布到RES上去呢?



另外,项目成功发布之后,是存储在RES的哪个目录下了?收起
参与6

查看其它 4 个回答wangwei的回答

wangweiwangwei其它xx
回复 4# enter2000
是不是就是里面集成的客户机项目那样  必须创建一个“创建一个新的 RES 配置”   然后将XOM打成jar包 这样才能在其它项目中使用
互联网服务 · 2013-07-11
浏览810

回答者

wangwei
其它xx
擅长领域: 中间件规则引擎

wangwei 最近回答过的问题

回答状态

  • 发布时间:2013-07-11
  • 关注会员:1 人
  • 回答浏览:810
  • X社区推广