Resolving runtime errors for a business rule data connection

You can diagnose and resolve runtime errors for a business rule data connection.

Symptoms

If a ruleset parameter is missing from a business object, or a business object required to evaluate a business rule is not available, then the event runtime cannot set a value for the parameter during execution of the ruleset, and an error is logged.

Diagnosing the problem

When the event runtime is processing an event project that invokes a ruleset, the event runtime uses the rule parameters that are available from the event. If required parameters are missing, the event is not processed, although the ruleset is still executed. If Decision Server Rules must obtain the missing parameter to evaluate a rule, then an error is logged by Rule Execution Server. In addition, an error is logged by the rules runtime. You can troubleshoot the error by identifying missing parameters as the cause of the error, then modifying the data connection information and updating the business rule data connection.

Resolving the problem

Procedure

  1. Identify the runtime error generated by missing parameters in the ruleset, or by incorrect RuleApp and ruleset names, as shown in the following examples:
    00000062 JRulesManager W BEER3210W: An error has occurred when invoking ruleset /miniloanruleapp/miniloanrules 
    [{borrower=<miniloan.Borrower>
    <yearlyIncome><int xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">83</int>
    </yearlyIncome>
    <creditScore><int xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">92</int>
    </creditScore>
    <name><string xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">String_bName_25.0</string>
    </name></miniloan.Borrower>}] on the Rule Execution Server.
    Reason: An error occurred while the rule session was called:
    com.ibm.rules.res.xu.internal.XUException: XU Client error
    ilog.rules.res.xu.IlrLocalizedResourceException: The interaction ruleEngine.execute has failed
    javax.resource.ResourceException: com.ibm.rules.res.xu.internal.XUException: GBRXU0411E: Ruleset execution error
    com.ibm.rules.res.xu.internal.XUException: Ruleset execution error
    ilog.rules.engine.IlrUserRuntimeException: null
    at call to 'miniloan flow task body'
    at call to 'execute'
    java.lang.NullPointerException

    This error is logged when the business rule data connection contains incorrect RuleApp and ruleset names.

    BEER9012 > preprocessing :<?xml version="1.0" encoding="UTF-8"?><connector name="WBE" version="2.2">
    <connector-bundle name="loanRequest" type="Event" workflow="FACE">
    <connector-object name="borrower_event">
    <field name="creditScore" type="Integer">600</field>
    <field name="name" type="String">Joe</field>
    <field name="yearlyIncome" type="Integer">80000</field>
    </connector-object>
    <connector-object name="loan_event">
    <field name="amount" type="Integer">500000</field>
    <field name="duration" type="Integer">240</field>
    <field name="yearlyInterestRate" type="Real">0.5</field>
    </connector-object>
    </connector-bundle>
    <system>mysystem</system>
    <timestamp>2012-03-05T23:09:39.411-05:00</timestamp>
    <loginfo>This is an event from Decision Server</loginfo>
    </connector>.
    . . .
     DataResolver  3   Invoking ruleset with ruleapp: loanrulesapp, appversion: , ruleset: loanrules, rulever: 
     execution     E   The interaction plugin.factoryGetRulesetSignature has failed
     javax.resource.ResourceException: com.ibm.rules.res.xu.internal.XUException: GBRXU0435E: Failed to create engine manager.
  2. To resolve the errors, edit the business rule data connection in the event project, then enter the correct RuleApp name and ruleset name. See Editing a business rule data connection.
  3. Update the existing business rule data connection. See Updating an existing business rule data connection.

Example

The following errors indicate that the event runtime encountered a problem while invoking the ruleset. To resolve the errors, modify the rules project, then update the existing business rule data connection.

This error indicates mismatched parameter types or missing constructor parameters:

00000062 JRulesManager W BEER3210W: An error has occurred when invoking ruleset /miniloanruleapp/miniloanrules 
[{loan=<miniloan.Loan>
<yearlyInterestRate><double xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">84.57926749357746</double>
</yearlyInterestRate>
<duration><int xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">47</int>
</duration>
<amount><int xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">70</int></amount><rejectMessages>
<arrayList xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<string>String_rejectMessages_55.0</string>
</arrayList></rejectMessages></miniloan.Loan>, borrower=<miniloan.Borrower>
<yearlyIncome><int xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">19</int>
</yearlyIncome>
<name><string xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">String_bName_7.0</string>
</name></miniloan.Borrower>}] on the Rule Execution Server.

Reason: An error occurred while the rule session was called:
com.ibm.rules.res.xu.internal.XUException: XU Client error
ilog.rules.res.xu.IlrLocalizedResourceException: The interaction ruleEngine.setBOMParameters has failed
javax.resource.ResourceException: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException 
This error indicates that the XOM was not deployed with the RuleApp:
BEER3204W: Could not evaluate the ruleset in the business object loanrules_borrower. 
Reason: Failed to retrieve the parameter signature of ruleset /loanruleapp/loanrules.

An error occurred while the rule session was called:
com.ibm.rules.res.xu.internal.XUException: XU Client error
ilog.rules.res.xu.IlrLocalizedResourceException: The interaction plugin.factoryGetRulesetSignature has failed
javax.resource.ResourceException: com.ibm.rules.res.xu.internal.XUException: 
GBRXU0435E: Failed to create engine manager.
com.ibm.rules.res.xu.internal.XUException: Failed to create engine manager.
com.ibm.rules.res.xu.internal.XUException: Ruleset parsing work failed.
com.ibm.rules.res.xu.engine.rce.internal.RulesetParseException: 
Ruleset /loanruleapp/1.0/loanrules/1.0 parsing failed Problem occurred loading translation: 
Error when translating parameter "borrower": Cannot translate class "loan.Borrower" 
This error indicates that the bom.enabled property is missing from the RuleApp:
BEER3204W: Could not evaluate the ruleset in the business object CreditCardRules_transaction.  
Reason: Failed to retrieve the parameter signature of ruleset /CreditCardRuleApp/CreditCardRules.

An error occurred while the rule session was called:
com.ibm.rules.res.xu.internal.XUException: XU Client error
ilog.rules.res.xu.IlrLocalizedResourceException: The interaction plugin.factoryGetRulesetSignature has failed
javax.resource.ResourceException: BOM support has not been enabled or BOM is missing for ruleset: /CreditCardRuleApp/1.0/CreditCardRules/1.0