IM-BIS for Accel Platform / OpenRules for IM-BIS 連携ガイド 第2版 2015-08-01

2. ルールの実行時にエラーが発生する、正しく動作しない

ルールの実行で発生するエラー

2.1. DecisionTable で利用している項目が Glossary に存在しない

2.1.1. 現象

ワークフローの申請画面などの実行画面上で、ルールを実行するイベントを発生させたときに下記のエラーメッセージが表示される。
../../_images/exec_error.png

2.1.2. 条件

  • bis.logやコンソールに下記のようなスタックトレースが出力されている。

    [2015-03-23 21:10:15.028] ERROR - [resin-port-8080-99] - [default] - [bis.common.user_program.soa_executor] SOAを実行している最中に例外が発生しました。システム管理者に問い合わせてください。
    [2015-03-23 21:17:32.762] ERROR - [resin-port-8080-200] - [default] - [jp.co.intra_mart.system.bis.soa.connector.rule.RuleConnector] ルールを実行している際にエラーが発生しました。
    ERROR in Glossary: cannot find element 'テスト値1'
    org.openl.binding.OpenLRuntimeException: ERROR in Glossary: cannot find element 'テスト値1'
    ・・・
    Caused by: org.apache.commons.lang.exception.NestableRuntimeException: ERROR in Glossary: cannot find element 'テスト値1'
    ・・・
    [2015-03-23 21:17:32.889] ERROR - [resin-port-8080-200] - [default] - [bis.common.user_program.soa_executor] SOAを実行している最中に例外が発生しました。システム管理者に問い合わせてください。
    

2.1.3. 原因

Excelファイル内に下記の定義誤りが存在する場合に発生します。

2.1.4. 解決方法

スタックトレース中に、定義されていない項目名が出ていますので、その項目名と Glossary の定義を照らし合わせてください。
上のスタックトレースの場合の読み方は、次のようになります。
下記の読み方に基づいて、Excelの定義ファイルを修正し、再度データソース定義にアップロードしてください。
../../_images/miss_glossary_log.png
  • image_number_1 ERROR in Glossary: cannot find element ‘対象の項目名’
    • DecisionTable で’対象の項目名’ が Glossary で見つけられないことを表しています。