トラブルシューティング

このセクションでは、Adapter for eMatrix の使用時に発生する共通問題に関して、いくつかの簡単なトラブルシューティングの手法を説明します。

イベント通知

このセクションでは、イベント通知中に発生する可能性のある 4 つの共通問題 について説明します。共通問題は以下のとおりです。

イベント生成の検査

イベント通知機能をデバッグする場合、まず、イベントが正常に生成されているかどうか を検査します。これを行うには、以下のステップを実行します。

  1. WBIEventLogger を呼び出すトリガーを起動するアクションを実行します。
  2. 次に、以下のような照会を実行し、イベントが生成されたかどうかを確認します。
    temp query bus wbi_Event **;
  3. イベントが生成されていない場合、WBIEventLogger を呼び出すトリガーが インストールされていることを確認します。
    eMatrix Business Modeler の該当するビジネス・オブジェクトのタイプまたは関係定義を 開くことによって、トリガーがインストールされているかどうかを検査することができます。 イベント通知トリガーのインストール例については、付録C. サンプル・シナリオを参照してください。
    注:
    トリガーを呼び出すアクションを行うユーザーのユーザー名が、WBIEventLogger で指定された adapterUser 定数に一致する場合、イベントは生成されません。adapterUser 定数は、アダプターが eMatrix システムにログインするときに使用するユーザー名を指定します。

    そのようなイベントを無視する上で大事な点は、アダプターが eMatrix システムのエンティティーを変更することによって、イベントがログに記録されるようになることを防ぐことにあります。ここでは、アダプターはそれ自身の活動を認識しているため、それらをログに記録する必要がないことが前提になっています。テストを行う場合はこのことに 注意してください。
  4. WBIEventLogger を実行するトリガーが呼び出されているかどうかをテストする場合、matrix.ini ファイルに次のプロパティーを設定します。
    MX_MQL_TRACE=TRUE

    トリガーを呼び出すアクションを実行すると、次のようなメッセージが表示されます。
    18:15:00.826 MQL t@2900 Session: mx3f20221364f87ac7
     18:15:00.826 MQL t@2900 Program: WBIEventLogger
     18:15:00.826 MQL t@2900 args: -method recordEvent ${OBJECTID} n=wbi_cpu 
     v=Update p=1
     18:15:08.417 MQL t@2900 End Program:MQL<3>
    このメッセージは、トリガーが、上にリストされた引数で、WBIEventLogger を実行した ことを示しています。

eMatrix イベント・ビジネス・オブジェクト名の検査

イベントが生成されていることがわかっている場合でも、eMatrix アプリケーションをポーリングするたびにエラーが発生するときは、イベント・ビジネス・オブジェクトの名前を詳しく調べてください。ビジネス・オブジェクト名は、次のようになっている必要があります。

wbi_22032.41802.50936.705_1058897313350_1892833611

ビジネス・オブジェクト名に FROMOBJECT のような大文字がある場合、引数として無効な MARCO 値をトリガーに指定した可能性があります。これを解決するには、以下のようにします。

  1. Business Modeler のすべてのビジネス・オブジェクト・タイプ定義を検査します。
  2. それらが WBIEventLogger を呼び出すときに使用するトリガーを調べ、引数として指定した MARCO 値がすべて正しいことを確認します。

イベント・ボールトの検索

イベント・ポーリングのときに次のエラーを受け取る場合、アダプターが、コネクター・プロパティーで参照される EventVault を見つけられなかった ことを意味します。エラーは次のとおりです。

System Error: #1600039: vault 'WBI_Events' does not exist

このエラーは、以下のいずれかの理由で発生します。

InstallEventTables を実行して、ボールトが作成されていることを確認し、コネクター・プロパティーの EventVault の名前を検査してください。

ビジネス・オブジェクト階層の検査

イベント通知に使用されるビジネス・オブジェクト階層を作成する場合、階層に、親も eMatrix ビジネス・オブジェクト・タイプを表すような、eMatrix ビジネス・オブジェクト・タイプを表す子ビジネス・オブジェクト定義 が含まれないようにしてください。

そのようなオブジェクトが存在すると、アダプターはポーリング時に失敗し、次のようなメッセージをログに記録します。
An error occurred while trying to validate your WBI business object instance hierarchy.

このエラーは、eMatrix ビジネス・オブジェクトを表すビジネス・オブジェクトが、ヌルでない eMatrix ビジネス・オブジェクトも表す属性を含むことができないために発生します。

要求処理

このセクションでは、要求処理中に発生する可能性のある 2 つの共通問題 について説明します。共通問題は以下のとおりです。

コマンドにおけるストリングの処理

eMatrix コマンドを表すビジネス・オブジェクトの string 型属性の値は、コマンド処理前のコマンド・テンプレートへの挿入時に、引用符で囲まれません。したがって、引用符で囲まれていない空白文字を含む属性値は、2 語の MQL コマンドとして解釈されます。

ビジネス・オブジェクト階層の値

要求を送信する場合、階層内に、eMatrix ビジネス・オブジェクトを表す子があり、その親オブジェクトも eMatrix ビジネス・オブジェクトを表している場合があります。子ビジネス・オブジェクト がヌルでないことを確認してください。そのような階層が検出されると、アダプターはエラーをスローします。

一般的なヒント

2 つの一般的な問題およびそれらの解決法を以下に示します。

サポートされないビジネス・オブジェクト

ログまたはトレース・ファイルで、次のようなメッセージを受け取る場合があります。
Unable to find version "*.*.*" of business object definition "wbi_computer_bundle_to_computer"
これを解決するには、メッセージに示されたビジネス・オブジェクトを、Connector Configurator Express でサポートされるビジネス・オブジェクトのリストに追加する必要があります。

不完全なビジネス・オブジェクト関係

ODA を使用する場合、2 つのビジネス・オブジェクト・タイプとそれらの接続関係 をモデル化したいときがあります。図 14 に示すように、必ず、階層関係にある 3 つすべてを選択してください。

図 14. ビジネス・オブジェクト関係の選択

これを実行しないと、ODA は、タイプとそれらの共用関係が不完全なモデルを作成してしまいます。

Copyright IBM Corp. 2004, 2005