リリース ノート
この節では、BEA WebLogic Integration 8.1 SP6 リリース ソフトウェアで確認されている制限事項について説明します。確認済みの制限事項は以下のトピックに分類されています。
Sybase ドライバを使用している場合に WLI_MESSAGE_BROKER_DYNAMIC テーブルでこのデッドロックが発生しないようにするには、JPD 設計者が JPD を変更し、MessageBroker パブリッシュ コントロール「publish」メソッドを呼び出してから MessageBroker サブスクリプション コントロール「unsubscribe」メソッドを呼び出す必要があります。
web.xml デプロイメント記述子の security-constraint
要素および @common:security
注釈を使用してビジネス プロセスのセキュリティが設定済みの場合は、WebLogic Integration Administration Console を使用してビジネス プロセスへの SOAP-HTTP によるアクセス セキュリティを設定しないでください。実行時にセキュリティ違反になります。詳細については、以下を参照してください。
security-constraint
」 (http://edocs.beasys.co.jp/e-docs/wls/docs81/security/thin_client.html)@common:security
注釈」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/workshop/javadoc-tag/common/security.html)WebLogic Server の起動時に、WebLogic Integration ドメインに関する以下のメッセージがログに記録されます。
<BEA-014006> <名前 "ProcessTrackingEventErrorListener" のメッセージ駆動型 Bean (MDB) に、不明な実行キュー スレッド プールを参照するディスパッチ ポリシー "wli.internal.ProcessTracking" があります。代わりにデフォルトの実行スレッド プールを使用します。>
<BEA-014006> <名前 "InstanceInfoEventListener" のメッセージ駆動型 Bean (MDB) に、不明な実行キュー スレッド プールを参照するディスパッチ ポリシー "wli.internal.ProcessTracking" があります。代わりにデフォルトの実行スレッド プールを使用します。>
<BEA-014006> <名前 "ProcessTrackingEventListener" のメッセージ駆動型 Bean (MDB) に、不明な実行キュー スレッド プールを参照するディスパッチ ポリシー "wli.internal.ProcessTracking" があります。代わりにデフォルトの実行スレッド プールを使用します。>
注意 : WebLogic Server Administration Console を使用して、これらのログ メッセージに記述されている実行キューを作成することができます。作成する場合は、アプリケーションおよびトラッキング レベルに適したスレッド サイズを選択する必要があります。実行キューの作成の詳細については、『Administration Console オンライン ヘルプ』の「[実行キュー] --> [コンフィグレーション]」を参照してください。
WebLogic Integration サーバの起動時に、次のような警告が表示される場合があります。
<Nov 20, 2004 11:15:18 PM PST> <Warning> <EJB> <BEA-011070>
<In the <weblogic-rdbms-bean>, for <ejb-name> 'DataBean',
some <field-group>(s) are defined but are not used in any
<weblogic-query>, <weblogic-relationship-role> or
<relationship-caching> <caching-element>s. The <group-name>(s) of
the unreferenced <field-group>(s) are: 'default'>
多くの WebLogic Integration リソース (たとえば、メッセージ ブローカ サブスクリプションやバージョン情報) では、現在のプロジェクトの WEB-INF/web.xml
ファイル内に WebLogic Integration アプリケーション リスナを定義する必要があります。プロセス プロジェクトが作成されると、デフォルトでこのアプリケーション リスナが WEB-INF/web.xml
ファイルに定義されます。非プロセス プロジェクト (デフォルトの Web プロジェクトなど) で誤ってプロセスを作成した場合、WebLogic Integration アプリケーション リスナは定義されません。実行時、このようなプロジェクトは一部のインスタンスでは動作しますが、必要なリソースにアクセスすると処理に失敗します。
プロセス プロジェクトでは、WEB-INF/web.xml
ファイルに次の XML 要素がデフォルトで定義されます。
<listener>
<listener-class>
com.bea.wli.management.WliWebAppListener
</listener-class>
</listener>
WebLogic Integration Administration Console の対話型プロセス グラフでは、Adobe SVG Viewer バージョン 3.0x が使用されます。Adobe SVG Viewer バージョン 3.0x は Netscape 7.1 ブラウザではサポートされていません。詳細については、次の URL にある「Browser Requirements for the Interactive Graph」を参照してください。
http://e-docs.bea.com/wli/docs85/manage/processmonitoring.html
また、Netscape 7.1 ブラウザについては、WebLogic Platform 8.1 でサポートしていません。WebLogic Platform でサポートしているオペレーティング システムとブラウザの詳細については、次の URL にアクセスしてください。
http://edocs.beasys.co.jp/e-docs/platform/suppconfigs/index.html
データの転送中に WebLogic Integration Administration Console のページを更新すると、次のような例外が表示されることがあります。
java.net.SocketException: Connection reset by peer: socket write error
これは、サーバ側のネットワークのエラーや問題が原因でページを完全に読み込めなかったことを警告するエラーです。ブラウザをすばやく更新すると、最初のソケットがデータ転送中にブラウザによって閉じられます。
WebLogic Integration 8.1 Service Pack 2 では、メッセージ ブローカのメッセージ カウントをチャネルごとにリセットする機能がサポートされます。その結果、[メッセージ ブローカ統計の表示] ページの [最後にリセットした時間] フィールドは無視されます。
アダプタのデプロイ中に [アダプタ インスタンスの詳細] ページの [サービス接続の編集] をクリックすると、次の例外が生成されることがあります。
java.lang.NullPointerException
解決策 : アダプタ インスタンスが完全にデプロイされたことを確認するまで、[サービス接続の編集] をクリックしないようにします。
Microsoft Windows Server 2003 で、Internet Explorer を使用して WebLogic Integration Administration Console にアクセスできない場合があります。
解決策 : Internet Explorer で、[ツール|インターネット オプション|セキュリティ|レベルのカスタマイズ] を選択します。[セキュリティの設定] ダイアログ ボックスで、[その他|ページの自動読み込み] を選択し、[有効にする] を選択します。
クライアントが複数のページからすべてのタスクを削除した場合、ワークリスト管理モジュールで空のページが表示される場合があります。
解決策 : [すべて表示] をクリックしてタスク リストを更新します。
コンソールで同時に複数のワークリスト操作を実行すると、ワークリスト管理モジュールは通常のエラー メッセージではなく、例外トレースを送出する場合があります。これらの例外は有効です。
非同期サービスの呼び出しで使用される XA 対応 EIS で障害が発生するか、JMS の永続性のために使用されるデータベースで障害が発生した場合、非同期サービスで実行中の処理を所有するトランザクションはロールバックされます。これにより、非同期サービス要求自体が AI 非同期要求キューにロールバックされ、要求の再試行が可能になります。ただし、トランザクションのロールバックは、非同期サービス要求および非同期サービスが EIS に対して行った処理にのみ反映され、WebLogic Integration Administration Console のアプリケーション ビューまたはアダプタ インスタンスに表示されるサスペンドされた非同期サービス数には反映されません。
そのため、非同期サービスの呼び出しに成功したことを示すために非同期サービス数がインクリメントされた後、非同期サービス プロセッサ MDB の内部トランザクションがコミットされる前に EIS または JMS データベースで障害が発生した場合には、非同期サービス数は EIS に対する実際の有効サービス数よりも高い値を示します (行われた処理はロールバックされるが、カウントはデクリメントされないため)。
サスペンドされた非同期サービスが完了し、サスペンドされた非同期サービス数がデクリメントされた後、非同期サービス プロセッサ MDB の内部トランザクションがコミットされる前に EIS または JMS データベースで障害が発生した場合には、サスペンドされた非同期サービス数は Application Integration の非同期要求キューで実際に有効なサスペンドされたサービス数よりも低い値を示します (要求はロールバックされるが、サスペンドされたカウントがインクリメントされないため)。
管理者は、トランザクション EIS またはトランザクション データベースの障害に注意する必要があります。通常、サービス障害、および EIS 障害に関連するサスペンドされたアダプタ インスタンスとアプリケーション ビューにより障害を検知することができます。このような障害から EIS が回復した後、サスペンドされた非同期サービスが完了するのに十分な時間がある場合、管理者はサスペンドされた非同期サービス数を確認する必要があります。カウントが 0 でない場合 (または負の値である場合)、カウントは正しくありません。
表示されたカウントが正しくない場合に、管理者がサスペンドされた非同期サービス数を強制的に 0 に戻せるように、AppViewSummaryMBean
インタフェースに resetSuspendedAsyncServiceCounts()
メソッドが追加されました。次の URL にある Javadoc を参照してください。
http://e-docs.bea.com/wli/docs85/javadoc/com/bea/wlai/management/runtime/AppViewSummaryMBean.html
サーバが反復的開発モードで実行されている場合、Application View Design Console などのクライアントからアクセスできるアプリケーションは、Workshop の [アプリケーション] ペインで展開表示可能なアプリケーションのみです。デプロイ済み EAR ファイルにパッケージ化されたアプリケーションにはアクセスできません。つまり、反復的開発モードで実行しているときにアプリケーションを Application View Design Console から選択して利用できるようにするには、以下の条件を満たす必要があります。
テスト ブラウザに 30 (デフォルト) を超える数のイベントを表示するには、ビジネス プロセスを実行する前に、テスト ブラウザの [コンソール] タブを選択し、[最後の~メッセージを保持] フィールドの数値 (表示するメッセージの数) を大きくします。
長時間のプロセスを実行すると、メモリ不足エラーになることがあります。
解決策 : このエラーを解決するには、ドキュメント ストアを有効にし、wli-config.properties ファイルでドキュメントのメモリ サイズを増やします。wli-config.properties ファイルに次の内容を追加する必要があります。
# Minimum size for documents stored in the SQL Document Store:
# (leave unspecified to get the system default of 512K)
weblogic.wli.DocumentMaxInlineSize=4500
#
# Maximum size of document buffered before writing to the SQL Document Store:
# (leave unspecified to get the system default of 512K)
weblogic.wli.DocumentMaxInMemorySize=9999
#
WebLogic Console で、信頼できるトラッキングとトラッキング レベルを同時に「なし」に設定することができません。
解決策 : トラッキングを、完全で信頼できるように設定するには、まず信頼できるトラッキングを「なし」に設定してから、デフォルト トラッキングを「なし」に設定します。
バージョニングされていないビジネス プロセスを後からバージョニングし、バージョニングしたプロセスをデプロイした場合、そのインスタンスを実行すると java.lang.ClassNotFoundException
により失敗することがあります。
解決策 : 長時間実行されるビジネス プロセスに対してバージョニングを行う場合は、プロダクション モードでアプリケーションをデプロイする前の初期段階からプロセスをバージョニングするようにします。それ以外の場合は、バージョニングされていないインスタンスを完了するまで実行してから、バージョニングされた新しいプロセスをデプロイする必要があります。
WebLogic Integration ビジネス プロセスのコントロール送信ノードが WebLogic Workshop Web サービスを呼び出し、その後この Web サービスがステートフルまたはステートレスな EJB のメソッドを呼び出すと、例外が送出されることがあります。コンソールには、次に示す例外に類似するものが表示されます。
<Jun 26, 2003 3:49:56 PM EDT> <Error> <WLW> <000000> <Unable to
The lock request from
remove bean instance: weblogic.ejb20.locks.LockTimedOutException:
[EJB:010107]EJB:SimpleSS
with primary
key:145008051647152128 timed-out after waiting 0 ms. The
transaction or thread requesting the lock was:
Thread[ExecuteThread: '11' for queue:
.
'weblogic.kernel.Default',5,Thread Group for Queue:
'weblogic.kernel.Default']
新しいプロセス アプリケーション
またはチュートリアル : プロセス アプリケーション
の作成時に、以下の事項を確認するダイアログ ボックスが表示される場合があります。
プロセス アプリケーションで NetUI または WebLogic Portal® の機能を使用する場合は、[はい] をクリックします。
WebLogic Workshop ヘルプの「Web サービスから SOAP エラーを生成する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/workshop/guide/progmodel/conGeneratingSoapFaults.html
) で説明されているように、javax.xml.rpc.soap.SOAPFaultException
を使用することができますが、ビジネス プロセスでは使用できません。
JPD クライアントに SOAP エラーを返すには、javax.xml.rpc.soap.SOAPFaultException
の代わりに com.bea.jws.SoapFaultException
を送出します。「SoapFaultException Class」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/workshop/java-class/com/bea/jws/SoapFaultException.html
) を参照してください。
通常、ProcessRuntimeMBean
は、ステートレス ビジネス プロセスで使用しません。ステートフル プロセスで使用するのが一般的です。プロダクション モードではなく、開発モードでは、一部のプロセスで不適切な情報が返される場合があります。
ローカル トランザクションは、開いたままになっています。閉じるには、JDBCConnectionPoolMBean で RollbackLocalTxUponConnClose="true"
プロパティを設定します。
大きなビジネス プロセスでは、ソース ビューで編集を行うと、CPU 使用率が 100% に上昇し、情報入力の処理速度が低下することがあります。
解決策 : workshop.cfg
ファイルを変更して、メモリの制限を 512MB に増加します。
障害が発生した管理対象サーバから JTA および JMS を移行した後、プロセス インスタンスが実行モードのままになることがあります。db2diag.log
に、次のような一連のエラー メッセージが繰り返し出現します。
Instance:DB2 Node:000
PID:3888(db2syscs.exe) TID:5400 Appid:/1721616.3366.00090031001F
data protection sqlpxTEntrySwitchIn Probe:300 Database:DBNAME
DIA8036C XA error with request type of "".Transaction was not found.
ZRC=0x80100024.
HttpControl では、Apache HTTP クライアント MultiThreadedHttpConnectionManager (HTTP コントロールが使用する接続プール マネージャ) の maxconnectionsperhost と maxtotalconnections を設定できます。HTTP コントロールの接続プール マネージャはシングルトン クラスであり、このクラスがロードされる時点でパラメータの値が設定されます。値は次のシステム プロパティから取得されます。
-Dwli.httpcontrolmaxconnectionsperhost=2
-Dwli.httpcontrolmaxtotalconnections=20
注意 : これらのシステム プロパティを指定しない場合は、それぞれデフォルト値の 2 と 20 が使用されます。
別のパラメータ値を指定するには、このシステム プロパティを setDomainEnv スクリプトの JAVA_PROPERTIES に追加します。BEA_HOME\ext_components にある httpcontrol.zip を置き換え、Workshop アプリケーション プロジェクトの APP-INF\lib ディレクトリにある Workshop アプリケーションの http コントロール ファイルを削除します。
FTPS がサポートされていないので、ファイル コントロールを使用してセキュア FTP を実行することができません。
プロセス コントロールと XML Bean を引数として、ビジネス プロセス (JPD) から JWS を呼び出すことはできません。この場合に XML Bean を渡そうとすると、次のような例外が生成されます。
Throwable: com.bea.control.ProcessControlException:
[WLI-Core:530214]ProcessControl を呼び出せませんでした。[EJB Exception:
: java.lang.IllegalArgumentException: argument type mismatch
複雑な Java 型を含むアプリケーションの境界を越えて、プロセス コントロールを使用して同期呼び出しを実行する場合は、Java クラスをシステムの CLASSPATH に追加する必要があります。
この対象の場所は、アプリケーションを基準にした相対的な場所です。スキーム、サーバ名、またはポート番号を指定することはできません。スキーム、サーバ名、またはポート番号を指定しても無視されます。
XML のチャネル タイプを使用したタイマー イベント ジェネレータによってパブリッシュされるイベントにはメタデータ ヘッダが含まれません。そのため、メタデータに基づくイベントのフィルタ処理または取得は、現在サポートされていません。
Sybase テーブルまたは Microsoft SQL テーブルにトリガ タイプのイベントを作成すると、RDBMS イベント ジェネレータはユーザ テーブルのレプリカまたはサブセットであるシャドウ テーブルを作成します。トリガは、挿入、削除、および更新された行をユーザ テーブルからシャドウ テーブルにコピーします。ユーザ テーブルへの行の挿入、削除、または更新が速すぎて、イベント ジェネレータによる行のポーリングおよび処理が間に合わなくなると、新しい行が未処理になり、クエリのポーリングが遅くなります。
解決策 : シャドウ テーブルは、チャネル名 (チャネル ルールを定義するときに指定した名前) に _BEA_SDW
サフィックスを付けた名前で作成されます。ポーリングの処理速度を向上するには、特定の列にユニークなインデックスを作成する必要があります。たとえば、トリガ イベント名 (チャネル名) が hello123
である場合、シャドウ テーブルは hello123_BEA_SDW
という名前で作成されます。この問題を解決するには、ユニークなインデックスを次のように作成します。
CREATE UNIQUE INDEX [idx_hello123] ON
schema_name.hello123_BEA_SDW(BEA_SEQ_ID)
Informix データベースに作成されるトリガ タイプのイベントには、いくつかの制限事項があります。[スレッド数] フィールドと [ポーリングあたりの最大行数] フィールドには常に値 1 を指定する必要があり、[ポーリング間隔] フィールドには、各ポーリングで取得された行のパブリッシュにかかる時間の合計よりも大きな値を指定する必要があります。
Informix データベースを使用する場合は、Insert、Update、または Delete イベントの実行中に自動コミット モードを常に有効にする必要があります。
Informix データベースを使用して、既存のチャネル ルールを削除し、削除したチャネル ルールと同じチャネル名のチャネル ルールを新規作成する場合は、Statement キャッシュのサイズを 0 に設定する必要があります。
Sybase データベースを使用して、トリガ イベントを Sybase テーブルに作成しているとき、その Sybase テーブルに Insert などの同じタイプのトリガ イベントがすでに存在し、コンフィグレーションされている場合、古いトリガは置換されます。これによって、古いトリガ イベントは動作しなくなります。
1 つの Sybase テーブルにつき、Insert、Delete、および Update トリガ イベントが 1 つずつ許可されます。
タイマー イベント ジェネレータを使用しているとき、[すべてのタイマー イベント ジェネレータを表示] ページで、[再開] をクリックしてもステータスが [サスペンド] から [実行中] に更新されません。
解決策 : 更新されたステータスを表示するには、ブラウザ ページを更新します。
次の Java システム プロパティを使用すると、イベント ジェネレータのポーリング間隔をユーザ定義の間隔に設定できます。
wli.eventgen.email.checkConfigDelay
wli.eventgen.file.checkConfigDelay
wli.eventgen.timer.checkConfigDelay
これらのプロパティは、サーバを起動する Java コマンドに設定できます。各プロパティは、ミリ秒数でポーリング間隔を設定します。次に例を示します。
-Dwli.eventgen.timer.checkConfigDelay=30000
この例では、コンフィグレーション変更のためのタイマー イベント ジェネレータのポーリング間隔を 30 秒に設定しています。
指定しない場合は、デフォルトのポーリング間隔の 10 秒が使用されます。
ビジネス カレンダーを変更した後、タイマー イベント ジェネレータにカレンダーの変更が反映されない場合があります。
解決策 : [WebLogic Integration Administration Console|イベント ジェネレータ|すべてのファイル イベント ジェネレータを表示] ウィンドウで、適切なタイマー イベント ジェネレータを選択し、[サスペンド] をクリックして、[再開] をクリックします。
Windows および UNIX タイプの FTP サーバだけがファイル イベント ジェネレータ FTP によってサポートされます。VMSはサポートされない。
フィールドのデータ型が CLOB または BLOB である場合 (Oracle)、またはフィールド長が整数の最大値を超えている場合 (その他のデータベース)、rdbmseg.log
ファイルに NumberFormatException
が送出されます。
スキーマ プロジェクトを再構築すると、すべての型付き XML 型が WebLogic Workshop のペインに表示されなくなることがあります。たとえば、スキーマ プロジェクトに XSD ファイルをインポートすると、型付き XML 型が [XQuery トランスフォーメーション メソッドのコンフィグレーション] ペインに表示されなくなります。
このような動作が確認されたら、WebLogic Workshop アプリケーションを閉じて再び開きます。すべてのタイプ済み XML 型が WebLogic Workshop のペインに表示されます。
プロセス定義 (JPD) で XQuery を使用してローカル要素または複合型の変数を生成する場合、getXXX()
メソッドおよび setXXX()
メソッドなどの XMLBean API を JPD のユーザ コードで使用することはできません。通常、ローカル要素または複合型は、For Each ノードまたはトランスフォーメーション ノードの出力の指定を目的として XQuery コード内で使用されます。
解決策 : このような変数のデータを抽出またはマップするには、後続の XQuery トランスフォーメーションを使用します。
WebLogic Workshop アプリケーションがシステムの XSD ファイルを使用している場合は、Schemas プロジェクト ディレクトリに置かれたどの XSD システム ファイルも削除してはなりません。これは、システムの XSD スキーマが相互に依存しているためです。たとえば、システムの TPM.xsd
および xmldsig-core-schema.xsd
スキーマは相互に依存するため、一方の XSD ファイルを Schemas プロジェクトから削除すると、次の設計時エラーが発生します。
XQuery ドキュメントの初期化に失敗しました。デザイン ビューは使用できません。
注意 : Schemas プロジェクト ディレクトリからシステム XSD ファイルを削除しても、スキーマ コンパイル エラーは生成されません。
実行時、トランスフォーメーションで以下の型のキャストは制限されるか、サポートされません。
たとえば、XML スキーマ型 xs:double
と XML スキーマ型 xs:integer
間のキャストには制約があります。トランスフォーメーションでの xs:double
から xs:integer
への実行時のキャストは、元の double 値が 8
の場合は成功しますが、元の double 値が 8.5
または 8.0
の場合は失敗します。このような XML スキーマ型間のキャストは、Java または C 言語でのデータ型間のキャストとは異なります。
XML スキーマ型 xs:date
と java.util.Date
間のキャストはサポートされず、実行時に失敗します。これら 2 つの型は同じではないためです。XML スキーマ タイプ xs:date
には日付コンポーネントのみが含まれ時刻コンポーネントは含まれませんが、java.util.Date
Java クラスには時刻コンポーネントおよび日付コンポーネントの両方が含まれています。
マッパーのテスト ビューでは、クエリの入力データのサイズが 8KB の倍数である場合に java.io.IOException
が送出されることがあります。この例外は、マッパーのテスト ビューでクエリを実行した場合にのみ送出され、マッパーの外で実行した場合は、これらのクエリは同じ入力データで正常に実行されます。
マッパーのテスト ビューでは、選択グループまたはパターン スキーマ コンポーネントを含む XML スキーマの入力 XML テスト データが正しく生成されません (選択グループの場合、すべての選択グループが生成されます)。
XML スキーマ内の選択グループの詳細については、次の URL にアクセスしてください。
http://www.w3.org/TR/xmlschema-0/#groups
パターン スキーマ コンポーネントの詳細については、次の URL にアクセスしてください。
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-pattern
選択グループの解決策 : クエリを実行する前に、マッパーのテスト ビューで、生成された XML データを編集して余分な選択グループを削除し、選択グループが 1 つだけ残るようにします。
パターン スキーマ コンポーネントの解決策 : マッパーのテスト ビューで、生成された XML データが有効なパターンのデータになるように編集します。
テスト ビューでの XML データの編集の詳細については、「テスト ビューでマップをテストする」を参照してください。
XPath 式で、要素の名前に XQuery キーワードが含まれていて、その要素にネームスペースが関連付けられていない場合は、child 構文を使用して XPath 式の要素を参照します。たとえば、要素の参照には $a/for
の構文を使用せず、短縮しない構文 $a/child::for
を使用します。
予約されている XQuery キーワードは以下のとおりです。
予約されている XQuery キーワードの詳細については、次の URL にアクセスしてください。
http://www.w3.org/TR/2002/WD-xquery-20020816/#N4021F0
短縮しない構文の詳細については、次の URL にアクセスしてください。
http://www.w3.org/TR/xpath20/#unabbrev
http://www.w3.org/TR/xpath20/#abbrev
WebLogic XQuery エンジンは、W3C XQuery 仕様の 2002 年 8 月 16 日の草案に準拠しています。この草案は次の URL にあります。
http://www.w3.org/TR/2002/WD-xquery-20020816/
xf:NOTATION
コンストラクタがサポートされていない。normalize-unicode
関数がサポートされていない。xs:error
関数がサポートされていない。processing-instruction
がサポートされていない。CR143114、CR143234、CR148091、および CR185099 を参照
グループ レベルの区切り文字は、Format Builder または実行時の例外の発生原因になります。
ビジネス プロセス トランスフォーメーションの実行中にサーバを停止して再起動すると、トランスフォーメーション例外が発生します。
Oracle データベースを使用している Solaris 8、Solaris 9、および Solaris 10 オペレーティング システムでは、一部の WebLogic Workshop アプリケーションを高負荷の状態で連続して実行すると、Java Hot Spot VM (1.4.2_04) に障害が発生して次の例外が送出されることがあります。
Unexpected Signal : 11 occurred at PC=0xFEDCD0F4
BEA カスタマ サポートに連絡して最新のパッチを入手してください。
注意 : Java Hot Spot VM 1.4.2_06 以降ではこのパッチは不要です。
2 フェーズ コミットの準備フェーズでデータベースがクラッシュした後、ビジネス プロセスが完了しないか、中止される場合は、管理対象サーバを再起動する必要があります。
回復処理の詳細については、以下の URL にある「WebLogic Integration Solutions Best Practices FAQ」の「WebLogic Integration Application Recovery」を参照してください。
http://e-docs.bea.com/wli/docs85/bpfaq/recovery.html
TPM サービス プロファイルを使用してサービス ブローカ/プロセス コントロール メッセージ トラッキングを有効にしても機能しません。ebxml と RN で B2B メッセージ トラッキングを使用してください。
WebLogic Integration では、Trading Partner Integration のコントロールを使用して、「開始者」ビジネス プロセスから「参加者」ビジネス プロセスにメッセージを送信します。ただし、「参加者」ビジネス プロセスでは、クライアント応答ノードを使用して「開始者」への送信ビジネス メッセージを処理することをお勧めします。
「参加者」ビジネス プロセスでコントロールを使用すると、確認応答やエラー メッセージなどのメッセージ応答信号が失われる可能性があります。推奨される設計パターンを使用せず、コントロールを使用してメッセージを送信する必要がある場合は、コントロールをサブプロセスに配置して「参加者」プロセスからサブプロセスを呼び出します。
XA データベース ドライバを使用するようコンフィグレーションされた Bulk Loader で TPM リポジトリにデータを読み込もうとすると、エラー No suitable driver
が発生し、失敗します。
解決策 : 非 XA ドライバを使用するよう Bulk Loader をコンフィグレーションするか、または WebLogic Integration Administration Console と対話形式で使用されるデータを読み込みます。
Bulk Loader のコンフィグレーション方法の詳細については、次の URL にある『Managing WebLogic Integration Solutions』の「Using the Trading Partner Bulk Loader」の「Configuring the Bulk Loader Configuration File」を参照してください。
http://e-docs.bea.com/wli/docs85/manage/bulkloader.html
WebLogic Integration Administration Console を使用して TPM データを読み込む方法の詳細については、次の URL にある『Managing WebLogic Integration Solutions』の「Trading Partner Management」の「Importing Management Data」を参照してください。
http://e-docs.bea.com/wli/docs85/manage/tpm.html
WebLogic Integration Administration Console から証明書を削除する際に次のエラー メッセージが表示された場合は、[続行] をクリックしてメッセージを消します。
パートナ partner_name
について、名前
cert_name
の証明書は存在しません。
エラーが表示されても、[続行] をクリックすると証明書が削除されます。
解決策 : アップグレードを実行したら、パーミッションを手動で変更して WebLogic サーバを起動する必要があります。
wli.internal.tracking.buffer_error
などの特定の内部 JMS キューは、存在しないと見なされています。アップグレード スクリプトがエントリの書き込みを試みたとき、すでに存在することが検出されると、エントリを省略する代わりにエラーが発生します。
解決策 : アップグレード スクリプトを実行する前に、該当する JMS キュー エントリを config.xml
から手動で削除しておきます。
JMS 接続ファクトリ (JNDI 名は wli.internal.egrdbms.XAQueueConnectionFactory
) は、WebLogic Integration 8.1 SP4 の RDBMS イベント ジェネレータに必要です。ただし、アップグレード スクリプトによって自動的に作成されません。
解決策 : 次のパラメータを使用して、XA 接続ファクトリを手動で作成します。
注意 : 初期リリースの WebLogic Integration 8.1 は、WebLogic Integration 8.1 SP4 へのアップグレードを実行する前に、WebLogic Integration 8.1 SP2 にアップグレードする必要があります。詳細については、『WebLogic Integration 8.1 へのアップグレード』の「WebLogic Integration 8.1 SP2 および SP3 から WebLogic Integration 8.1 SP4 へのアップグレード」を参照してください。
ワークリストの実行時状態は、WebLogic Integration 8.1 SP2 に移行できません。詳細については、BEA カスタマ サポートまでお問い合わせください。
WebLogic Workshop オンライン ヘルプの「静的なサブスクリプションの suppressible 属性を使用する」サンプル ドキュメントで説明しているように、WebLogic Builder ツールで JMS イベント ジェネレータのメッセージ駆動型 Bean のデプロイメント記述子を変更して、JMS イベント ジェネレータのプール サイズを 1 に設定します。
デプロイメント記述子 (ejb-jar.xml
) の message-selector
要素には、次に示すような CDATA ブロックでラップされた XML 文字が含まれます。
<message-selector><![CDATA[GROUPID>=100 and GROUPID<200]]></message-selector>
WebLogic Builder ツールのバグが原因で、デプロイメント記述子を編集時に CDATA ブロックが削除されます。
<message-selector>GROUPID>=200 and GROUPID<300</message-selector>
このようにmessage-selector
要素を定義すると、JMS イベント ジェネレータをデプロイできなくなります。
解決策 : この問題を回避するには、WebLogic Builder 以外のツールを使用して max
beans
in
pool
を変更します (JMS イベント ジェネレータのプール サイズを 1 に設定する)。
TaskSelector.setSortByPropertyValue()
メソッドを使用してタスクをソートすると、EJB 例外が生じます。
解決策 : SQL を動的に生成して、データベースへのクエリを実行して特定のプロパティに基づいたタスクを検索し、相応のソートを実行します。
ワークリスト ユーザ インタフェースでは、大文字と小文字の区別をチェックしないでログインを許可します。ただし、ユーザに関連付けられたタスクでは大文字と小文字が区別されます。したがって、大文字と小文字を適切に使用せずにログインしたユーザは、タスクを表示できません。たとえば、タスクに関連付けられたログインが MANAGER1 であるとき、ユーザが manager1 としてワークリストにログインした場合、そのユーザのタスクは表示されません。
解決策 : ユーザがワークリスト ユーザ インタフェースにログインするときは、タスクの作成時と同じ大文字と小文字のログイン名を使用する必要があります。
所有者がグループの場合は、Task Selector
または WebLogic Integration Administration Console を使用してタスク所有者によるクエリを実行できません。
taskIds
の配列を受け取り、値の配列を返すタスク ワーカ コントロールのすべてのメソッドは、結果が一定の順序で返されるかどうかは保証されません。
Web サービス (JWS) で、null である XmlObject、または null である XmlObject を含むオブジェクトを取り込むまたは返すことができません。
この節では、BPEL インポート ツールに関する確認済みの制限事項と問題について説明します。問題の大半は、JPD 言語と BPEL 言語の本質的な違いに由来します。
生成される JPD ファイルが、入力 BPEL ファイルの構文と対応することを確認する必要があります。
eventHandler
はサポートされていません。BPEL ファイルに含まれていると、変換プロセスでは無視され、「Global
EventHandlers are not supported, hence ignored
」というメッセージが表示されます。until
属性で期間が指定された wait
および onAlarm
の変換はサポートされていません。BPEL ファイルに until
属性が含まれていると、その属性はサポートされていないため、生成される JPD ファイルでは無視されることを通知する警告が表示されます。この警告が表示された後、変換プロセスは続行されます。注意 : 有効な BPEL ファイルに両方の属性 (for
と until
) を指定することはできません。
flow
で始まる BPEL ファイルはサポートされていません。最初の論理的な子が flow
構造体である BPEL ファイルは変換できません。ここでは、論理アクティビティとは、シーケンスまたはスコープ以外のアクティビティを指します。flow
アクティビティの links
の変換はサポートされていません。変換する BPEL ファイルに links
が含まれていると、links
、source
、target
が含まれるため、生成される JPD ファイルが有効ではないことを通知する警告が表示されます。変換プロセスは続行され、サポートされていないこれらのアクティビティは無視されます。reply
アクティビティを使用して通常の出力/結果を返す BPEL ファイルの変換はサポートされていません。適切に変換するために、BPEL ファイルには、通常の結果を返す reply
アクティビティを 1 つだけ指定する必要があります。これは、JPD ファイルには、同期 clientReceive
に対する returnMethod
を 1 つしか含めることができないためです。これに対して、BPEL ファイルには、単一の receive
に対して複数の reply
アクティビティを含めることができます。単一の receive
ノードと複数の reply
ノードを単一の clientRequestWithReturn
に直接マップする方法はありません。OnAlarm
アクティビティを含む pick
アクティビティの変換はサポートされません。これは、pick
は eventChoice
に変換されるためです。各 eventChoice
に含めることができる timeoutEvent
ノードは最大 1 つですが、これは 1 つの onAlarm
アクティビティに対して 1 つ生成されます。 bpws:getVariableData(..)
による onAlarm
アクティビティの for
属性の指定はサポートされていません。bpws:getVariableData(..)
を使用して for
属性を指定すると、インポートされたコードに構文エラーが発生します。WARNING: Failed to parse input XSD & WSDL files. Please see logs for detail
」というメッセージが表示され、ログ ファイルに「Duplicate global type
」というエラー メッセージがある場合は、ネームスペースの複数の定義を無視するように指定する必要があります。インポート プロセス用のログ ファイル BpelImport.log
は、%BEA_HOME%\\weblogic81\workshop
に格納されています。%BEA_HOME%
は、WebLogic Workshop をインストールしたディレクトリです。このログ ファイルは、インポート プロセスに関する情報を提供します。
ネームスペースの複数の定義を無視するように指定するには、[スキーマ プロジェクト|プロパティ|ビルド] を選択し、無視するネームスペースを [次のネームスペース内にある複数の定義を無視] フィールドに指定します。
assign
アクティビティをインポートしたときに実行されるクエリ解析が制限されます。したがって、生成される XQuery 式が常に正しい構文とは限りません。生成されたすべての XQuery 式が正しいことを確認してください。
assign
を変数に変換すると、変換後の XQuery ファイルをデザイン ビューで表示したときに「The main XML element does not match the root node of the target schema
」という 「PARSE ERROR」 が発生する場合があります。ただし、実行時には正しい値が生成されるので、このメッセージは無視できます。このエラーは、XML Mapper のデザイン ビューの制限により、正しい XQuery 式も常に解析できるわけではないために発生します。eventHandlers
が含まれる BPEL ファイルをインポートすると、eventHandler
onMessage パスに対してダミーの Timer メソッドが生成されます。JPD の仕様では、onMessage
パスと onTimeout
パスは、自動的に実行されないプロセス ノード (またはノード ブロック) にのみ関連付けることができます。この制約に対応するために、eventHandler
が receive
、onMessage
、flow
、wait
のどのアクティビティも含まないスコープに関連付けられる場合は、1 秒でタイムアウトするダミーの Timer ノードが作成されます。attributeFormDefault="qualified"
と elementFormDefault="qualified"
を設定し、修飾クエリ文字列を使用して、クエリ文字列を適切に修飾する必要があります。適切に修飾されていない場合、生成された XQueries は実行時に失敗します。reply
アクティビティを指定できます。JPD ファイルでは、これはサポートされていません。複数のパートナ リンクのうち 1 つだけが、応答セマンティクスに合致する clientRequestWithReturn
として変換されます。他のパートナ リンクの reply
アクティビティは非同期インタフェースに変換されます。onMessage
パスに変換されますが、セマンティクスに多少の違いがあります。インポートされた JPD ファイルでは、イベントが受信され、onMessage
パスが実行されると、その onMessage
パスが完了するまでブロック (BPEL のスコープに相当) の実行は継続されません。つまり、イベント ハンドラのインスタンスは、常に 1 つだけアクティブになることができます。invoke
アクティビティを Web サービスの controlSend
呼び出しに変換します。指定したパートナ サービスの Web サービス コントロールが生成され、JPD ファイルは、コントロールの対応するメソッドを呼び出します。今回のリリースでは、特定の状況での Web サービス コントロール (JCX ファイル) の生成機能に制限があります。生成された JCX ファイルの内容を慎重に調査して、コンパイル可能であることを確認してください。 <reply>
が含まれる BPEL プロセスから生成される JPD ファイルが、論理的に正しくありません。これは、同期操作の対応する receive
と reply
が同じレベルに存在しないためです。 <receive> - <reply>
ブロック内の任意のノードに関連付けられたイベント ハンドラはサポートされません。このような場合、生成された JPD はコンパイルできません。
この節では、JPD のエクスポートに関する確認済みの制限事項について説明します。
jpd:initialValue
として取り込まれます。xsd:include
要素でユーザ スキーマが参照されています。WSDL ファイルでこの型が使用されている場合は、wsdl:import
を使用してエクスポートします。ArrayList
または別の Collection クラスの add()
メソッドが含まれていると、値が true
に設定された非標準の JPD ネームスペース属性 jpd:appendToCollection
が生成されます。afterExecute=resume
がサポートされません。freezeOnFailure=true
、onSyncFailure
、および persistent
がサポートされません。OnException
パスで executeOnRollback
がサポートされません。jpd:transaction
が true
に設定されたスコープに変換されます。<jpd:xquerycode>
ノードにコピーされます。<jpd:javacode>
ノードにコピーされます。<jpd:javacode>
拡張機能として含まれます。