在 Bluemix 上执行规则时规则集解析失败

The parsing of the ruleset failed when executing rules on Bluemix

在 Bluemix 上测试部署在业务规则服务上的规则集时,我看到以下错误:

An error occurred while the rule session was created: com.ibm.rules.res.xu.internal.XUException: The parsing of the ruleset /myRuleApp/2.0/myRuleset/1.0 failed Problem occurred loading translation : foo.Bar : Cannot find execution class "foo.Bar" for translating business class "foo.Bar" .

编辑:

我发现的其他类似症状是:

Error when translating parameter "myParam": Cannot translate class "test.MyClass"

Error when translating parameter "myParam": Cannot translate class "test.MyClass"

Error when translating package "myRulePackage": Cannot translate class "test.MyClass".

Unresolved resources or libraries: [resuri://XOM.zip/1.0]

发生此错误是因为我没有使用 RuleApp 部署具有 class foo.Bar 定义的 XOM。 为解决此错误,我从 Rule Designer 插件部署了 XOM,方法是右键单击规则项目名称,然后从菜单中选择 Rule Execution Server > Deploy XOM。我确保通过 RES 控制台从规则集指向解析所需的托管 XOM 资源。

编辑:

一般而言,对于此错误和相关错误:

-- Deploy/redeploy 所有 XOM class 到规则执行服务器。重新部署后,在 Rule Execution Server 控制台中,检查规则集是否指向部署的 XOM 的最新版本。

-- 如果出现 "Unresolved resources or libraries" 错误,请通过 Rule Execution Server 控制台更正规则集现有资源的路径。

-- 确保 XOM 及其依赖项是为与 兼容的 Java 版本编译的。例如,编译为符合 Java 7 目标的 classes 将无法在 Java 6 JVM 上运行。