BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

WebLogic Integration トラブルシューティング ガイド

 前 次 目次 索引 PDF で表示  

トラブルシューティング FAQ

以下の節では、WebLogic Integration ソリューションの開発およびデプロイメントにおいて生じる可能性がある問題に関してよくある質問に回答します。

各質問は、ユーザが経験する代表的な問題別に分類されています。各節では、1 つまたは複数の問題について詳細に説明し、1 つ以上の対策を提案し、製品ドキュメントなどのその他の有用な情報の参照先を示します。

ここでは、一般的なトラブルシューティングのヒントを紹介します。特定の WebLogic Integration リリースにおける確認済みの制限事項については、『WebLogic Integration リリース ノート』を参照してください。

 


インストールと準備

この節では、以下の質問に回答します。

リポジトリ データのバルク ロードが失敗した場合はどうしたらいいでしょうか。

問題点

B2B Integration での作業中、WebLogic Integration サンプルの実行前など特定の状況下では、WebLogic Integration リポジトリにデータをバルク ロードすることが求められます。リポジトリへのバルク ロードを実行しようとした後にエラー メッセージが表示された場合、バルク ロードのプロセスは正常に実行できていません。

解決策

エラー メッセージを確認して、エラーの原因を判断します。次にエラーを修正して、バルク ロード処理を再度実行します。バルク ロードはトランザクション対応ではないため、データのバルク ロードをやり直す前に、データベースを完全にクリーンアップすることをお勧めします。

バルク ロード中に生じる可能性があるエラーには、次のようなものがあります。

詳細については、『B2B Integration 管理者ガイド』の「Bulk Loader の使い方」を参照してください。

自分が使用している WebLogic Integration のバージョンを確認するには、どうすればよいでしょうか。

問題点

インストールされている WebLogic Integration のバージョンを調べる方法が分かりません。

解決策

WebLogic Integration をインストールしてある、BEA ホーム ディレクトリの registry.xml ファイルを参照してください。registry.xml ファイルには、以下に類似した XML セグメントが含まれています。

<bea-product-information>
<host home="c:¥bea" name="hostname" number="1">
<product format="1.0" name="WebLogic Platform">
<release BeaProgramGroup="BEA WebLogic Platform 7.0" BuiltInServicePackLevel="0" InstallDir="c:¥bea¥weblogic700" InstallTime="Jun 6, 2002 4:57:18 PM" JavaHome="c:¥bea¥jdk131_03" JavaVersion="1.3.1_03" PatchLevel="1" ServicePackLevel="0" Status="installed" level="7.0">
<component name="WebLogic Server" version="7.0.0.1">
<component name="Server"/>
<component name="Server Examples"/>
</component>
<component name="WebLogic Integration" version="7.0.0.0">
<component name="Integration Server"/>
<component name="Integration Examples"/>
</component>
</release>
</product>
</host>
</bea-product-information>

リリース要素(<release. . . で始まるテキスト)を調べます。この要素は、現在インストールされている WebLogic Integration のリリースおよびサービス パックの番号を示します。

システムの IP アドレスを変更したばかりです。ログ ファイルに多数のトランザクション エラーが記録されているのは、なぜでしょうか。

問題点

IP アドレスを変更すると、トランザクション ログ エラーが多く発生する原因となります。

解決策

古いトランザクション ログ ファイルを削除します。詳細については、次の URL にある『WebLogic JTA プログラマーズ ガイド』の「トランザクションのトラブルシューティング」を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs70/jta/trbtrx.html

 


移行

この節では、以下の質問に回答します。

WebLogic Integration の設計時データを別のデータベースへ移植するには、どうすればよいでしょうか。

問題点

WebLogic Integration の設計時データを別のデータベースへ移植したい場合があります。そのような移行が必要となるのは、たとえば WebLogic Integration の新規リリースをインストールする場合や、データベースの種類を変更する場合です。

解決策

設計時データを別の WebLogic Integration リポジトリ データベースへ移行するには、ソース データベースからすべての設計時データをエクスポートし、対象のデータベースにインポートします。手順の詳細については、『WebLogic Integration 移行ガイド』および『WebLogic Integration の起動、停止およびカスタマイズ』の「WebLogic Integration のカスタマイズ」にある「ドメインに対する新しいデータベースの指定」を参照してください。

WebLogic Integration Studio にパッケージをインストールするとワークフローが実行できないのですが、なぜでしょうか。

問題点

以前エクスポートしたパッケージを WebLogic Integration Studio にインポートすると、インポートしたワークフローが正しくインスタンス化されなかったり、実行時エラーが発生したりすることがあります。

解決策

以下の解決策が考えられます。

 


サンプルの使用

この節では、次の質問に回答します。

BEA dev2dev Online からサンプルをダウンロードしましたが、こちらでインストールした WebLogic Integration では動作しないようです。対処する方法を教えてください。

BEA dev2dev Online からサンプルをダウンロードしましたが、こちらでインストールした WebLogic Integration では動作しないようです。対処する方法を教えてください。

問題点

製品に同梱されているサンプルはご使用の WebLogic Integration と互換性がありますが、BEA dev2dev Online から入手可能なサンプルは、すべてが現行リリース用に更新されているわけではありません。上位互換性のないサンプルもあります。

解決策

ダウンロードしたサンプルのドキュメントを読み、ご使用の環境(プラットフォーム、WebLogic Integration のリリース、および WebLogic Server のバージョン)における全コンポーネントが、このサンプルでサポートされているかどうかを検証します。

 


サーバの起動

この節では、以下の質問に回答します。

サーバ起動時に ConnectExceptions が発生するのはなぜですか。

問題点

サーバ起動時に、次の例外メッセージが表示されます。

       a routed: 'Protocol: 't3'' connection
to:'0S:172.16.3.18:[7001,-1,-1,-1,-1,-1,-1]' on port: '7001'
java.rmi.ConnectException: No available router to destination
. . .

解決策

ログ ディレクトリから *.tlog ファイルを削除します。この問題がサーバ上の IP アドレスを変更した結果生じたものである場合は、システムの IP アドレスを変更したばかりです。ログ ファイルに多数のトランザクション エラーが記録されているのは、なぜでしょうか。を参照してください。

この問題がプロダクション サーバ上で生じたものである場合は、トランザクション ログ ファイルを削除する前に、必ずこれらのファイルのアーカイブを作成してください。これらのファイルには、サーバの障害時に処理中だったトランザクションに関する情報が含まれているためです。

サーバ起動時に「table or view does not exist」というエラーが表示されるのはなぜですか。Oracle データベースを使用しています。

問題点

Oracle データベースで稼動するサーバの起動時に、次のエラー メッセージが表示されます。

####<Aug 30, 2001 12:40:52 PM GMT-08:00> <Alert> <JMS> <fushigi.beasys.com> 
<myserver> <main> <system> <> <040052> <JMSServer "WLA
I_JMSServer", store failed to open, java.io.IOException: JMS JDBC store,
connection pool = <wliPool>, prefix = <null>: JMS JDBC I/
O failure
java.sql.SQLException: ORA-00942: table or view does not exist

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:595)
at
oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1600)
at
oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1758)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:1805)
at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:410)
at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:48)
at

解決策

このエラーが発生するのは、片方が別のユーザまたはスキーマに属する同一名の 2 つのテーブルを JMS が見つけた場合です。各 JMSJDBCStore テーブルに、一意の名前を割り当ててください。config.xml ファイルの JMSJDBCStore 行を、次の例に類似した行に変更します。

<JMSJDBCStore ConnectionPool="wliPool" Name="wliPool" 
PrefixName="someuniqname" />

 


アプリケーションの設計

この節では、以下の質問に回答します。

WebLogic Integration Studio XML エディタで XML ドキュメントを作成したときにエラー メッセージが表示されるのはなぜでしょうか。

問題点

WebLogic Integration Studio XML エディタで正規の XML ドキュメントを作成するときに、インスタンス エディタで次のメッセージが表示されることがあります。

解決策

インスタンス エディタの右ペインに表示される値がすべて、有効な式であることを確認してください。インスタンス エディタは、エラーのある行に X アイコンを表示して、無効な式構文のある値を示します。値が string 型定数の場合は、文字列リテラルの前後に二重引用符を付加してください。これ以外の型の値の有効な式を作成する方法については、『WebLogic Integration Studio ユーザーズ ガイド』を参照してください。

問題点

正規の XML ドキュメントを WebLogic Integration Studio XML エディタにインポートするときに、インスタンス エディタがエラー メッセージを表示して、ドキュメントを有効なテンプレート ドキュメントに変換するよう求めることがあります。

解決策

[はい] をクリックして、ドキュメントをテンプレート ドキュメントに変換します。

B2B の会話を開始するパブリック ワークフローを開始する方法を教えてください。

問題点

B2B の会話を開始するワークフローを開始する必要があります。

解決策

B2B の会話を開始するワークフローを開始するには、別のワークフローから パブリック ワークフローを開始アクションを使用します。Java アプリケーション内からパブリック ワークフローを開始するには、API を使用することもできます。パブリック ワークフローを開始 によってもたらされる入力パラメータでコラボレーション アグリーメントが決定され、コラボレーション アグリーメントによって会話が決定されます。この会話には、ワークフロー テンプレート名が含まれます。

問題点

パブリック ワークフローを開始アクションを使用してもワークフローが開始されません。

解決策

一般的なエラー:

ナビゲーション ツリーにエンティティ(トレーディング パートナなど)が表示されていない場合は、どうすればよいでしょうか。

問題点

WebLogic Integration B2B Console のナビゲーション ツリーにリストされているはずのエンティティが見つかりません。

解決策

次の手順を実行してください。

  1. ナビゲーション ツリーの WLI B2B ノードをクリックします。

  2. [コンフィグレーション] タブを選択します。

  3. [プリファレンス] タブを選択します。

  4. ナビゲーション ツリーの [表示] エンティティを選択します。

  5. [適用] をクリックします。

ビジネス プロトコル定義の詳細を参照できない場合はどうしたらよいでしょうか。

問題点

WebLogic Integration B2B Console のナビゲーション ツリーにビジネス プロトコル定義の詳細が表示されません。

解決策

次の手順を実行してください。

  1. ナビゲーション ツリーの WLI B2B ノードをクリックします。

  2. [コンフィグレーション] タブを選択します。

  3. [プリファレンス] タブを選択します。

  4. [高度なコンフィグレーション コントロールを表示] を選択します。

  5. [適用] をクリックします。

WebLogic Integration リポジトリから要素を削除している時に SQL 例外が出る理由は何ですか。

問題点

リポジトリから要素を削除していると、同様の SQL 例外が発生します。

Exception:ERROR: In SQLHelper.execute(), a SQL Exception was caught while
executing a SQL Statement: SQL Exception: DELETE on table 'PARTY_IDENTIFIER'
caused a violation of foreign key constraint
'15b58164-00e8-4d2f-8ace-00ac100b2400' for key (27). The statement has been
rolled back.
com.bea.b2b.management.ManagementException: ERROR: In SQLHelper.execute(), a SQL
Exception was caught while executing a SQL Statement: SQL Exception: DELETE on
table 'PARTY_IDENTIFIER' caused a violation of foreign key constraint
'15b58164-00e8-4d2f-8ace-00ac100b2400' for key (27). The statement has been
rolled back.
. . . <remainder of stack trace not shown> . . .

解決策

このような SQL 例外は、他のリポジトリの要素が参照しているリポジトリ要素を削除しようとすると発生します。この例外が発生するのは、現在コラボレーション アグリーメントに関与しているトレーディング パートナを削除しようとした場合です。そのようなトレーディング パートナを削除すると、データベース参照制約違反が発生します。トレーディング パートナを削除する前に、このトレーディング パートナが含まれているコラボレーション アグリーメントを削除するか、トレーディング パートナの参照をコラボレーション アグリーメントから削除します。リポジトリ要素の関連性とリポジトリ要素間の参照の削除については、『B2B Integration 管理者ガイド』の「リポジトリの操作」を参照してください。

 


アプリケーションの実行

この節では、以下の質問に回答します。

ワークフローを開始するのに必要なワークフロー テンプレート名を Worklist 内で見つける方法を教えてください。

問題点

ワークフローを開始するには、WebLogic Integration Studio 内にワークフロー テンプレートを作成した後、Worklist ユーザ インタフェースを使用します。しかし、ワークフローを開始する必要があるときに、Worklist 内でワークフロー テンプレートが見つかりません。

解決策

次の手順のうち 1 つ以上を実行します。

追加情報

WebLogic Integration Studio ユーザーズ ガイド」および「WebLogic Integration Worklist ユーザーズ ガイド」を参照。

注意: Worklist クライアントは WebLogic Integration リリース 7.0 より非推奨となりました。代替機能に関する情報については、『BEA WebLogic Integration リリース ノート』を参照してください。

ワークフローの実行においてデバッグとトレースを行う方法を教えてください。

問題点

ワークフローが正常に動作していない理由がなかなか判断できません。

解決策

ワークフローの実行をトレースすると、問題の原因を判断し、解決策を示すのに役立ちます。ワークフローのインスタンスの実行をデバッグまたはトレースする方法は、いくつかあります。

注意: Worklist クライアントは WebLogic Integration リリース 7.0 より非推奨となりました。代替機能に関する情報については、『BEA WebLogic Integration リリース ノート』を参照してください。

この方法でワークフローの実行を停止できない場合は、別のデバッグ方法を試してください。

追加情報

WebLogic Integration Studio ユーザーズ ガイド』の assign task to user アクションおよび make audit entry アクションに関するドキュメントと、『BPM クライアント アプリケーション プログラミング』 のビジネス オペレーションに関するドキュメントを参照してください。

ワークフローを開始すると例外が発生します。インスタンスが作成されないのはなぜでしょうか。

問題点

ワークフローで例外が発生しますが、このワークフローがインスタンス化されたということを示すワークフロー インスタンスは存在しません。

解決策

ワークフロー インスタンスが作成され、データベース内で保持されるのは、ワークフローが静止状態になるか、完了ノードに到達した後のみです。ワークフローが、静止状態または完了ノードに到達する前に例外が発生すると、ワークフロー インスタンスはロールバックされます。この問題を解消するには、ワークフロー インスタンスを待機させる No Operation または Assign Task to User などのアクションを挿入することで、強制的に静止状態をもたらします。

追加情報

WebLogic Integration Studio ユーザーズ ガイド』および『BPM クライアント アプリケーション プログラミング』の「BPM トランザクション モデル」を参照してください。

WebLogic Integration プロセス エンジンが、JMS キューの一部のメッセージやイベントを処理しない場合は、どうすればよいでしょうか。

問題点

JMS キューにポストされたイベントまたはメッセージが、WebLogic Integration プロセス エンジンで処理されないようです。

解決策

以下の解決策のうち任意のものを試してください。

「resource unavailable」または「Transaction has timed out when making request to XAResource 'WebLogic.jdbc.jts.Connection'」例外が発生した場合は、どうしたらよいでしょうか。

問題点

以下の例外の一方が発生します。

解決策

これらのエラーは、アプリケーションで必要とされる接続数が、接続プールで割り当てた接続数を上回っていることを示していると考えられます。エラーが発生するのは、WebLogic Integration リポジトリ プール、またはアプリケーション ビューのアプリケーション統合接続ファクトリ プールで、プールを使い切ったためである可能性があります。

どれが使い切ったプールであるかを判断するには、例外スタック トレースを確認します。スタック トレース内に、xxxConnectionFactory.getConnection() などの名前の付いたクラスが見つかれば、接続ファクトリ プールを使い果たしていると考えられます。例外メッセージは多くの場合、使い果たしたプールを指し示しています。スタック トレースにそのようなクラスがなければ、JDBC 接続プールを使い果たしていると考えられます。

どちらの種類のプールでも、予想される最大の同時アクティブ ユーザ数を推定し、その数を 2 で乗算して、得られた数値をプール内の Max Capacity の値として使用します。JDBC 接続プールの場合は、config.xml ファイルの JDBCConnectionPool 要素を修正します。アプリケーション ビューの接続ファクトリ プールの場合は、Application View Console を使用してアプリケーション ビューの接続パラメータ セクションを編集し、Max Capacity 値を設定します。

接続ファクトリの Max Capacity を設定しても問題が解決しない場合は、アダプタ デプロイメント ユニットの最大容量を増やします。これを行うには、アダプタの RAR ファイル(場所はアダプタのアプリケーション要素内にある、サーバの config.xml ファイルに記載)を見つけて、weblogic-ra.xml のデプロイメント記述子を編集します。これはアーカイブの META-INF ディレクトリに入っています。

注意: weblogic-ra.xml ファイルを編集するには、アーカイブを展開し、ファイルを編集してから、jar コマンドでアーカイブを作成します。weblogic-ra.xml ファイルの pool-params 要素における max-capacity 要素の値を増やしてください。

Oracle を使用している場合は、データベースのブロック サイズを確認します。ブロック サイズが 2K であれば、データベースを 8K のブロック サイズで再構築します。

また、各トランザクションが空いているデータベース接続を取得するまでに長時間待機しなくてもよいように、ThreadPoolSize および JDBC 接続プールのサイズを適切なレベルに調節することもできます。ほとんどの場合、JDBC 接続プールは ThreadPoolSize の 2 倍のサイズにする必要がありますが、適切なサイズはアプリケーションのニーズによって変わります。

Application Integration を使用中にイベントの発生で問題が生じた場合はどうすればよいでしょうか。

問題点

イベント定義を含むアプリケーション ビューを定義してデプロイしましたが、WebLogic Integration Application View Console でイベントテスト機能を使用してもイベントを受け取れません。

解決策

この問題の原因としては、以下のものが考えられます。

Business Process Management を使用中に、Application Integration 非同期サービスの応答が失われた場合は、どうしたらよいでしょうか。

問題点

WebLogic Integration Studio で、Application Integration の機能を使用してサービスを非同期に呼び出すワークフローを指定します。ワークフロー内では、サービス呼び出しのためのタスク ノードと、サービスから応答を受信するためのイベント ノードを定義します。しかし、実行時に応答イベントが受信されません。

解決策

この問題が生じるのは、タスク ノードと、非同期応答のためのイベント ノードの間で、有意な量のロジック設計が行われていない場合です。この場合、WebLogic Integration プロセス エンジン内で競合状況が発生し、エンジンがイベントを認識できない可能性があります。応答が BPM イベント キューに受け取られたかどうかを判断するのは、困難です。BPM イベント キューを監視し、非同期サービスを呼び出すタスクを含むワークフローを実行した結果メッセージ カウントが増加したかどうかを判断するには、WebLogic Server Administration Console を使用します。この問題を解消するには、タスク ノードと非同期サービスのためのイベント ノードの間のタスクに No Operation を追加します。No Operation を追加することで、ワークフロー インスタンスの処理にわずかな遅延がもたらされます。

B2B エンジンがリモートのトレーディング パートナからのメッセージを受信しません。

問題点

1 つまたは複数の B2B 配信チャネル (URL)で通信を確立できません。このような問題は、B2B に対して HTTP/HTTPS サブシステムが正しく設定されていないことが原因で発生します。

解決策

次の手順で解決します。

  1. 配信チャネルの URL をブラウザに入力し、〔Enter〕 を押します。

    エラーが表示されるか、WebLogic Integration ログ ファイルに無効なプロトコル フォーマットであるという B2B からのエントリがあれば、HTTP/HTTPS サブシステムは正しく設定されています。どちらのイベントも発生しない場合は次に進みます。

  2. アプリケーション サーバから、404 や 500 から 599までのエラー コードを受け取った場合、デフォルトの web.xml ファイルで TransportServletFilter が設定されているか確認します。

    TransportServletFilter が設定されていれば、web.xml には次の例のような行が含まれています。

    <!-- WLI-B2Bi filter-begin. DO NOT EDIT -->
    <filter>
    <filter-name>TransportServletFilter</filter-name>
    <filter-class>com.bea.b2b.transport.http.TransportServletFilter</filter-class>
    </filter>

    <filter-mapping>
    <filter-name>TransportServletFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- WLI-B2Bi filter-end. -->

    このような行が無ければ、TransportServletFilter が正しくありません。TransportServletFilter の設定に関する詳細については、『WebLogic Integration 移行ガイド』の「WebLogic Integration 2.1 から WebLogic Integration 7.0 への移行」にある「B2B 転送サーブレット」を参照してください。

    これらの行があれば、次へ進みます。

  3. ドメインのコンフィグレーション ファイルである config.xml<Application> 要素の次の属性が含まれているか確認します。

解決策のすべての手順を実行しても通信に問題が発生する場合は、HTTP/HTTPS 通信チャネル自体は問題の原因ではないと考えられます。WebLogic Integration の次のリポジトリを調べてみてください。

 


一般的な実行時の問題

この節では、以下の質問に回答します。

メモリ エラーを解決する方法を教えてください。

問題点

プログラム内のメモリ割り当て要求量が、JVM ヒープの空き領域のサイズを超えると、Java アプリケーションで out of memory エラーが発生します。現在実行中の Java プロセスを終了し、アプリケーションを再起動する必要があります。out of memory エラーを完全に排除することはできませんが、以下の解決策によって、このエラーの発生率を下げることはできます。

解決策

JVM 内の空き領域を増やし、要求量を減らします。特に、以下の手順を実行するとよいでしょう。

WebLogic Integration ログ メッセージはどこに保存されていますか。

問題点

WebLogic Integration ログ メッセージが見つけられません。

解決策

次の手順で、WebLogic Integration ログ メッセージの場所を特定します。

サーバが正常にシャットダウンできません。

問題点

stopWeblogic コマンドを実行後、次のエラー メッセージが表示されます。

<Oct 12, 2001 6:24:00 PM PDT> <Critical> <WebLogicServer> <Failed to invoke shutdown class "WLCShutdown",java.lang.IllegalArgumentException>

解決策

この問題は、WebLogic Server のバグとして確認済みです。B2B エンジンを停止してから再起動する際、同時に WebLogic Server も停止および再起動しなかった場合に、発生します。このバグが生じた場合、B2B エンジンは既に適切にシャットダウンされていても、WebLogic Server はハングすることがあります。詳細については、BEA WebLogic Server のマニュアルを参照してください。

 

ページの先頭 前 次