Copyright © 2006 Oracle.All rights reserved.
Oracle、JD Edwards、PeopleSoft、Retekは米国Oracle Corporationおよびその子会社、関連会社の登録商標です。その他の名称は、他社の商標の可能性があります。
リリース・ノート
10g リリース2(10.1.2.0.2)
部品番号: B28874-01
原典情報: Oracle BPEL Process Manager Release Notes 10.1.2.0.2
2006年5月
このリリース・ノートでは、Oracle BPEL Process Managerに関連する問題について説明します。次の項目が含まれます。
この項では、次の問題と解決方法について説明します。
OracleAS中間層にOracle BPEL Process Managerをインストール中、およびインストール後のログ・ファイルに、次のメッセージが表示されますが無視して問題ありません。
Patch 4869010 not found ... WARNING: Patch 4869010 is MANDATORY and must be applied ...
OracleAS中間層にOracle BPEL Process Managerをインストールした後、Oracle_Home
\opmn\conf\opmn.xml
ファイルのOC4J_BPEL
プロセス・タイプ・セクションに次のメモリー設定が含まれていることを確認してください。
<process-type id="OC4J_BPEL" module-id="OC4J" <module-data><<category id="start-parameters"> <data id="java-options" value="... . . . . . . -Xms512m -Xmx512m -Xmn300m -XX:MaxPermSize=80m .../>
Oracle JDeveloperのCodeCoach機能およびプロファイリング機能をWindowsまたはLinuxで使用するには、Oracle Java Virtual Machine(OJVM)をインストールする必要があります。
InstallOJVM
スクリプトを使用すると、指定されたJDKディレクトリにOJVMがインストールされます。インストールされると、OJVMは、指定されたJDKのJDeveloper BPEL Designerで作成されたすべての新規プロジェクトのデフォルト仮想マシンになります。
Windowsの場合:
Oracle_Home
\integration\jdev\jdev\bin
に移動します。
InstallOJVM.bat
を実行し、JDKのルート・ディレクトリを指定します。次に例を示します。
InstallOJVM C:\OraBPELPM\integration\jdev\jdk
Linuxの場合:
$ORACLE_HOME
/integration/jdev/ojvm_linux_x86
に移動します。
installOJVM
を実行し、JDKのルート・ディレクトリを指定します。次に例を示します。
InstallOJVM $/OraBPELPM/integration/jdev/jdk
この項では、次の問題と解決方法について説明します。
Oracle Enterprise Managerを介したOC4J_BPELシステム・コンポーネントのアンデプロイと再デプロイはサポートされていない
Oracle JDeveloperで作成されたWebサービスのOracle BPEL Process Manager OC4Jへのデプロイ
OPMNCTL STOPALL
コマンドは、正常なシャットダウンの実行に失敗する場合があります。その場合、プロセスは停止しますが、次のような内容のエラーが表示されます。
/opmn/bin/opmnctl stopall opmnctl: stopping opmn and all managed processes... ============================================================================== opmn id=isunbox28:6200 2 of 3 processes stopped. @ ias-instance id=iasmid.isunbox28.us.oracle.com ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ------------------------------------------------------------------------------ ias-component/process-type/process-set: OraBPEL/OC4J_BPEL/default_island Error --> Process (pid=9121) time out while waiting for a managed process to stop Log: /private/jsmith/midtier/opmn/logs/OraBPEL~OC4J_BPEL~default_island~1 opmnctl: graceful stop of processes failed, trying forceful shutdown...
Oracle Enterprise Managerを介してOC4J_BPELシステム・コンポーネントをアンデプロイし、再デプロイしてからOC4J_BPELを再起動した場合、アプリケーションにアクセスできません。
注意: Oracle BPEL Process ManagerのOC4J_BPELシステム・コンポーネントのアンデプロイおよび再デプロイは行わないことをお薦めします。 |
SolarisまたはLinuxでは、ダイアグラム・ビュー・ウィンドウおよびJDeveloper BPEL Designerの構造ウィンドウでマウス・ボタンを右クリックしても、メニューが表示されません。JDeveloper BPEL Designerは、Solarisでは正式にサポートされていません。
関連資料: サポートされているWindowsオペレーティング・システムのリストは、『Oracle BPEL Process Managerインストレーション・ガイド』を参照してください。 |
JDeveloper BPEL Designerでは、Webサービスを使用するためのスタブを自動的に作成できます。Webサービス・スタブ/スケルトン・ウィザードを使用してスタブを生成すると、アプリケーション内のメソッド(Webサービスに対するプロキシ)をコールできます。ただし、このウィザード内で一部のWSDLファイルの検証または解析を試行すると、次のような検証エラーが表示される場合があります。
WSDL Validation failed with the following exceptions @ Schema type not found. QNAME (http://schema.xmlsoap.org/soap/encoding/, base64)
JDeveloper BPEL Designerで生成された非同期BPELプロセスのWSDLでは、同様の問題が発生します。
回避するには、BPEL用RMIクライアント・インタフェースを使用します。
関連資料: RMIクライアント・インタフェースの例は、Oracle_Home \integration\orabpel\samples\tutorials\102.InvokingProcesses を参照してください。
|
Oracle BPEL ServerがOC4Jサービスの起動を試行すると、OC4Jサーブレット・ディスパッチャによって、WebサービスのEARファイルのかわりにOracle BPEL ConsoleのWARファイルが起動されます。そのため、実行時に次のエラーが発生します。
BPEL Fault http://schemas.oracle.com/bpel/extension}bindingFault{summary=Cannot lookup BPEL domain. The BPEL domain "MyWebService1" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.
このエラーの解決方法は次の2つです。
Oracle_Home
\integration\orabpel\system\config\collaxa-config.xml
ファイルに次の設定が含まれている場合:
<property id="soap-server-url"> <name>BPEL soap server URL</name> <value>http://servername.localdomain:9700</value>
http://servername.localdomain:9700
をhttp://servername:9700
に置き換えます。
Oracle JDeveloperで作成されたWebサービスのエンドポイントを、servername
ではなくlocalhost
を指すように変更します。
この項では、次の問題と解決方法について説明します。
デプロイ中、obant
ユーティリティによるBPELプロセスの検証はできません。デプロイ中にプロセスの検証を行う場合は、JDeveloper BPEL Designerを使用してプロセスをデプロイしてください。
ワークスペースのディレクトリ・パスには、スペースを含めないでください。たとえば、次のようなパスは許可されません。
C:\Program Files\projects\myWorkspace\Loanflow
スペースを含むディレクトリ・パスのワークスペースからプロジェクトを起動すると、問題が発生します。たとえば、パートナ・リンクを作成する際、WSDLファイルがWSDLの選択・ウィンドウに表示されません。
JDeveloper BPEL Designerで注釈を使用する場合、次の問題に注意してください。
JDeveloper BPEL Designerのアクティビティの「注釈」タブでは、注釈の順序変更ができません。
回避するには、JDeveloper BPEL Designerの「ソース」ビューにプロジェクトのBPELファイルを表示し、注釈の順序を変更します。
switchアクティビティのotherwiseブランチでは、注釈を作成できません。ただし、switchアクティビティのcaseブランチでは、この機能を使用できます。
JDeveloper BPEL Designerでパートナ・リンクを強調表示し、[Ctrl]キーを押しながら[F9]キーを押すと、ログ・ウィンドウに次のコンパイル・エラーが表示されます。
Internal compilation error, terminated with a fatal exception
回避するには、「アプリケーション・ナビゲータ」でプロジェクトを選択し、[Ctrl]キーを押しながら [F9]キーを押します。ログ・ウィンドウにコンパイル・エラーは表示されません。
JDeveloper BPEL Designerの下部にあるログ・ウィンドウにコンパイル・エラーが表示されます。ログ・ウィンドウでassignアクティビティ・エラーをダブルクリックするとします。assignアクティビティが開きます。ここで、エラーを修正し、その他の割当てコピー・ルールを追加します。その後、ログ・ウィンドウでエラーを右クリックし、「ソースを表示」を選択すると、プロセスの「ソース」ビューが表示されますが、追加したassignアクティビティまたはコピー・ルールは表示されません。
次のタスクのいずれかを実行すると、この問題は表示されなくなります。
今後の新規プロジェクトすべてに対して、「ツール」メイン・メニューから「プリファレンス」→「BPELエディタ」を選択し、「インライン・エディタを使用」を選択解除します。
現行のプロジェクトのみに対して、JDeveloper BPEL Designer内で右クリックし、「ダイアグラム・プロパティ」を選択して「インライン・エディタを使用」を選択解除します。
ZIPファイルに含まれる複数のXSDファイルを、1つのBPELプロジェクトに対して追加またはインポートできません。JDeveloper BPEL Designerでは、XSDファイルの追加、インポートおよび読取り専用モードでのオープンが可能ですが、そのXSDファイルをBPELプロセス内で使用することはできません。物理的なファイル移動が不可能なため、JDeveloper BPEL Designerではファイルを解析できません。XSDファイルを追加またはインポートする前に、必ずZIPファイルから抽出してください。
project_name
.wsdl
ファイルに定義されたプロパティ・エイリアスは、JDeveloper BPEL Designerから参照できません(JDeveloper BPEL Designerではproject_name_Properties.wsdlファイルで定義されることを想定しているため)。adapters.wsdl
などのプロパティ・エイリアスを使用するには、手動で追加します。
JDeveloper BPEL Designerで相関セット・プロパティ・エイリアスを作成すると、BPELプロセスのWSDLファイルにそのエントリが作成されます。ただし、このWSDLファイルを参照するデフォルトのclientパートナ・リンクがこのプロセスで使用されていない場合(たとえば、receiveアクティビティがアダプタのパートナ・リンクによって起動される場合)、コンパイル時に相関セットが検証されません。これは、Oracle BPEL Serverがbpel.xml
ファイルでWSDLファイル参照を検出できないためです。
回避するには、中立のWSDLファイルでプロパティ・エイリアスを作成し、このファイルをbpel.xml
ファイル内で参照します。BPELプロセスは、(別々のWSDLファイルでのプロパティの定義に従って)このファイルをコンパイル時に使用します。
アダプタを参照しているパートナ・リンクによりBPELプロセスが初期化された場合、パートナ・リンクのWSDLファイルにprocess_name
.wsdl
ファイルをインポートする必要があります。これにより、process_name
.wsdl
ファイル内のメッセージ・タイプの参照情報がコンパイル時に取り込まれます。この操作は、次のような場合に必要です。
相関セット(process_name
.wsdl
に格納されたプロパティ・エイリアス)を使用する場合
process_name
.wsdl
で定義されたメッセージ・タイプがprocess_name
.bpel
ファイル内で参照されている場合
BPEL検証ブラウザ・ウィンドウで行った更新は、BPELプロセスに自動的に反映されません。たとえば、次の手順を実行するとします。
パートナ・リンクを作成し、WSDLファイルを指定せずに「適用」および「OK」をクリックします。このエラーにより、「partnerLink」アイコンの左上に感嘆符のアイコンが表示されます。
感嘆符をクリックしてBPEL検証ブラウザ・ウィンドウを表示します。
このウィンドウの「BPEL構造」セクションでパートナ・リンクをダブルクリックし、表示されたパートナ・リンクの編集ウィンドウですべてのフィールドの値を正しく設定して、変更を適用および保存します。
BPEL構造ウィンドウを右クリックして「パートナ・リンクのリフレッシュ」を選択します。パートナ・リンクには、エラーが表示されていることに注意してください。
回避するには、BPEL検証ブラウザ・ウィンドウを閉じ、JDeveloper BPEL Designerの「ダイアグラム・ビュー」で「partnerLink」アイコンをダブルクリックし、「適用」および「OK」をクリックします。これによりエラーが表示されなくなります。
JDeveloper BPEL DesignerでXMLフラグメントを割り当てる際、メッセージに余分な改行が追加されます。次に例を示します。
<Name>QE_ORDER_NBR </Name>
回避するには、手動で不要な改行を削除する必要があります。
readFile
関数を使用すると、XPath式ビルダー・ウィンドウには引数が1つ(fileName
)しか表示されません(関数リストの説明、および式ボディ・ウィンドウで関数の上にカーソルをあわせた場合)。この関数には、次の3つの引数が指定できます。
ora:readFile('fileName','nxsdTemplate'?,'nxsdRoot'?)
この関数の詳細は、『Oracle BPEL Process Manager開発者ガイド』のXPath拡張関数に関する付録を参照してください。
メッセージ・タイプを追加または更新して、プロジェクトのインライン・スキーマを使用したメッセージ・パート要素を利用する場合(たとえば、タイプの選択ウィンドウで、「プロジェクトのWSDLファイル」→「process_name.wsdl」→「インライン・スキーマ」→「スキーマ」→「process_nameProcessRequest」のように選択した場合など)、デプロイ中にNULLエラーが発生してプロセスが失敗します。
回避するには、次のような<import>
行をプロセスのWSDLファイルから削除します。
<import namespace="http://xmlns.oracle.com/testing" location="testing.wsdl"/>
変更を保存し、プロセスを再デプロイします。NULLエラーは発生せず、デプロイが成功します。
この項では、次の問題と解決方法について説明します。
Identity Managementおよびメタデータ・リポジトリを使用するために、Oracle BPEL Process ManagerをOracle Application Serverにインストールする際、Oracle Application ServerがIdentity Managementとともに構成されていない場合はインストール後にOracle Internet Directoryを手動で構成する必要があります。
Identity Managementとともに構成済のOracle Application Server中間層を使用する場合、インストール後にこの操作をしないでください。構成はインストール中に自動で実行されます。
たとえば、Portal and Wireless中間層のインストール・タイプにはOracle Internet Directoryが必要です。したがって、このタイプの中間層におけるOracle BPEL Process Managerのインストール時には、Oracle Internet Directoryが自動で構成されます。
イタリックで示されている次の値を、使用環境に応じて適切な値に置き換えてください。
Oracle_Home
\j2ee\OC4J_BPEL\config\jazn.xml
に、必ず次のようなjazn provider
要素のエントリが含まれるようにしてください。
<jazn provider="LDAP" location="ldap://host:port" default-realm="us"> <property name="ldap.user" value="cn=orcladmin"/> <property name="ldap.password" value="!welcome1"/> </jazn>
Oracle_Home
\integration\orabpel\system\services\config\is_config.xml
に、必ず次のようなprovider
要素のエントリが含まれるようにしてください。
<provider providerType="JAZN" name="oid"> <connection url="ldap://host:port" binddn="cn=orcladmin" password="welcome1" encrypted="false"/> </provider>
Oracle_Home
\j2ee\OC4J_BPEL\application-deployments\hw_services\orion-application.xml
に、必ず次のようなjazn provider
要素のエントリが含まれるようにしてください。
<jazn provider="LDAP" location="ldap://host:port" default-realm="us" > <jazn-web-app auth-method="SSO"/> </jazn>
Oracle Enterprise ManagerからWebプロバイダbpelportlet.ear
をデプロイする場合には、Oracle_Home
\j2ee\OC4J_BPEL\application-deployments
\bpelPortlet\orion-application.xml
を手動で次のように構成してください。
<jazn provider="LDAP" location="ldap://host:port" default-realm="us" > <jazn-web-app auth-method="SSO"/> </jazn>
OracleAS中間層にBPEL Process Managerを初めてインストールした場合、Oracle Enterprise Manager 10g Application Server Controlコンソールの「通知サービス」ページには、デフォルト・アカウントが表示されません。回避するには、新規に電子メール・アカウントを作成します。これによりデフォルト・アカウントが表示されます。その後、この新規アカウントを削除した場合もデフォルト・アカウントは続けて表示されます。
ワークフローを伴うBPELプロジェクトは、必ずJDeveloper BPEL Designerからデプロイする必要があります。obant
のようなコマンドライン・ツールは使用しないでください。コマンドラインによるデプロイを行うと、ペイロード表示などのJSP機能が動作しません。
user taskアクティビティを伴うBPELプロセスをコンパイルすると、JDeveloper BPEL Designerのログ・ウィンドウに、次のような警告メッセージが表示されます。
Warning(443): [Error ORABPEL-10041]: Trying to assign incompatible types [Description]: in line 443 of "C:\apr20\integration\jdev\jdev\mywork\Application1\BPELProcess4\BPELProcess4. @ bpel", <from> value type "{http://www.w3.org/2001/XMLSchema}anyType" is not @ compatible with <to> value type "{http://www.example.org}book anonymous type".
これは、1つのanyType
が1つのanonymous
タイプに割り当てられていることを示します。この警告は無視できます。from-spec
問合せの戻り値にto-spec
問合せとの互換性があることを確認してください。
user taskアクティビティを削除して再作成するには、次の手順を実行します。
BPELプロジェクトの「ダイアグラム・ビュー」に移動します。
user taskアクティビティのscopeアクティビティおよびswitchアクティビティを削除します。これらのアクティビティは、user taskアクティビティのワークフロー・ウィザードを実行した際に作成されたものです。
パートナ・リンクを削除します。
プロジェクトからWSDL/XSDファイルを削除します(推奨しますが必須ではありません)。
ワークフローを設計する新しいuser taskアクティビティを作成します。
ワークフローのscopeアクティビティは、user taskアクティビティのワークフロー・ウィザードを使用する際に、自動的に作成されます。このscopeアクティビティを削除しても、関連するconfig.xml
、_form.jsp
および_fields.xml
の各ファイルは削除されません。これらのファイルは、手動で削除する必要があります。削除しなくても、これらのファイルが原因のコンパイル・エラーやデプロイ・エラーは発生しません。
Oracle BPEL Worklist Applicationの「カテゴリ」リストでは、検索するユーザー、グループまたはタイトルのカテゴリを選択できます(「グループ」、「報告先」など)。前回の検索結果の値も表示されることに注意してください。たとえば、最初に「グループ」カテゴリで検索し、結果が表示されたとします。次に「報告先」で検索すると、最初の検索結果と次の検索結果の両方が表示されます。これは正常な動作です。「すべて選択」および「すべて選択解除」を使用して、一括選択または選択解除を行います。これらのボタンが表示されるのは、選択したリストに複数のユーザーが存在する場合のみです。
ワークフロー・ウィザードを使用して次のタイプのワークフローを作成すると、エラーが表示されます。
次の設定を選択します。
ワークフロー・パターン・ウィンドウの「自動エスカレーションを使用した順序ワークフロー」ワークフロー・パターン
割当てポリシー・ウィンドウの「ユーザーのリスト」
ワークフロー・ウィザードで作成したRoutingWithEscalationスコープを開きます。
setRoutingPolicy assignアクティビティをダブルクリックします。
2番目のコピー・ルールを選択し、「編集」をクリックします。
ora:createDelimitedStringが、エラーを示す青い下線付きで表示されます。
長いディレクトリ・パスの下にOracle BPEL Process Manager for Developersをインストールする場合、長い名前のBPELプロセスを作成する場合、またはその両方を実行する場合は、サンプルのOracle BPEL Worklist Applicationで問題が発生します。これは、Windowsオペレーティング・システムで、ファイルの長さが255文字に制限されているためです。たとえば、次のタスクを実行するとします。
D:\oracle\product\OraBPELPM
の下にOracle BPEL Process Manager for Developersをインストールします。
BPELProcessOrderApprovalFlowのような長い名前のBPELプロセスを作成します。
JDeveloper BPEL Designerでuser taskアクティビティを追加し、ワークフロー・ウィザードを起動します。
「ワークフロー・パターン」リストから「自動エスカレーションを使用した順序ワークフロー」を選択します。
「ワークフロー名」フィールドのパターン名にForHighPriorityOrderItemsのような長い名前を追加します。
自動生成されたJSPフォームを使用します。
このプロセスをローカルのOracle BPEL Serverにデプロイする際、このJSPに対応するクラス・ファイルのフルパスは255文字を超えます。そのため、Oracle BPEL Worklist Applicationのタスクの詳細ページにアクセスすると、ClassNotFoundException
エラーが発生します。この問題を回避するには、プロセス名かワークフロー名、あるいはその両方を短くします。または、自動生成されたJSPフォームを使用するかわりに、JSP URLを指定します。
タスク・リストを取得した場合、各タスク・オブジェクトにはサマリー情報のみが含まれ、ペイロード、添付ファイル、履歴などの詳細情報はありません。タスクの詳細を知るには、ループ内でgetWorklistTaskDetails()
APIをコールします。
タスク詳細を取得しながらループを行うと、このアクションに対しリソースが集中的に消費されます。通常、一度につき1つのタスク詳細が表示されます。必要なタスクに対してのみ、この方法を実行してください。for
ループ・コードの修正例を次に示します(タスク詳細の取得用に1行追加します)。
for (int i=0; i<tasks.size(); i++) { IWorklistTask thisTask = (IWorklistTask)tasks.get(i); if ( <condition> ) { // task matches some condition thisTask = wlSrvc.getWorklistTaskDetails(ctx, thisTask.getTaskId()); .... Form form = null; form = PayloadFormGenerator.getMappingForm(thisTask); .... } }
クライアント側で、Oracle BPEL Serverよりも高速なタスク操作が自動的に実行される場合があります。その結果、メッセージが失われる可能性があります。この問題は未解決ですが、タスク操作間にわずかな遅延(約5秒程度)を追加することで回避できます。次に例を示します。
client.updateTask(ctx, task);Thread.sleep(5000); // sleep for 5000 milliseconds client.customTaskOperation(ctx, taskId, "DONE");
Oracle Application Server中間層でカスタム・アイデンティティ・サービス・プロバイダのプラグイン・サンプルを使用するには、build.xml
ファイルを次のように編集する必要があります。
Oracle_Home
\integration\orabpel\samples\hw\isplugin\db\build.xml
を開きます。
15行目に移動します。
<pathelement location="${classpath}" />
次のように変更します。
<pathelement location="${client.classpath}" />
67行目に移動します。
<sysproperty key="java.naming.provider.url" value="ormi://${hostname}"/>
次のように変更します。
<sysproperty key="java.naming.provider.url" value="${jndi.url}"/>
Secure Sockets Layer(SSL)を伴うOracleAS中間層にOracle BPEL Process Managerを構成する場合、BPELプロセスにTaskActionHandlerおよびTaskManagerサービスを正常にロードするには、次のような変更を加える必要があります。
Oracle_Home
\integration\orabpel\domains\
domain_name
\tmp
の下にある、.bpel_TaskManager_1.0.jar
および.bpel_TaskActionHandler_1.0.jar
ディレクトリを削除します。
Oracle BPEL Serverを再起動します。
この手順により、正常なサービス・バインディングと、TaskManagerおよびTaskActionHandlerプロセス用のWSDLファイルが再作成され、HTTP/Sベースのエンドポイントからの使用が可能になります。
注意: BPELクラスタ構成の一環としてOracle BPEL Process Managerをインストールする場合、BPELクラスタの作成後に各BPELクラスタ・ノード上でこの手順を実行する必要があります。 |
この項では、次の問題と解決方法について説明します。
要素または属性にsetText
を使用すると、トランスフォーメーション後の値に改行文字が含まれます。出力は有効なXMLですが、ネイティブ・フォーマット・ビルダー・ウィザードの変換機能を使用してXMLをネイティブ・フォーマットに変換する際、またはデータベースのINSERT
操作を実行する際に、この改行文字によって予期しない影響を受けます。
回避するには、次のいずれかの方法を使用します(要素に割り当てる静的値または定数値がOracleであると仮定します)。
xpath式拡張関数を使用します。
「コンポーネント・パレット」から「Advanced Functions」→「xpath-expression」を選択します。
「xpath-expression」フィールドに'Oracle'と入力します。
マッパーにより<xsl:value-of select="'Oracle'"/>が生成され、出力にはスペースは含まれません。
normalize-space String関数を使用します。
「コンポーネント・パレット」から「String Functions」→「normalize-space」を選択します。
(" Oracle ")と入力します。
これにより、引数の前後のスペースが削除されます。
次にconcat
関数の例を示します。
concat(bpws:getVariableData('variablename','partname','/PO/ShipTo/First'), bpws:getVariableData('variablename','partname','/PO/ShipTo/Last'))
この場合、関数は正しく機能します。次に、left-trim
関数の例を示します。
orcl:left-trim(bpws:getVariableData('variablename','partname','/PO/ShipTo/First'))
この場合、関数は機能しません。
ただし、次の例では、left-trim
が正しく機能します。
orcl:left-trim(string(bpws:getVariableData('variablename','partname','/PO/ShipTo/ First')))
concat
関数およびleft-trim
関数は、どちらも引数として文字列値を要求しますが、left-trim
は、引数としてbpws:getVariableData
が渡されると失敗します。これは、bpws:getVariableData
によって返されるノードセットを、left-trim
が処理できないためです。一方、concat
はノードセットを処理できるため機能します。
回避するには、ネームスペース接頭辞がxp20
およびorcl
で始まり、文字列パラメータを要求する任意の関数とともに使用する前に、string()
関数をgetVariableData
に明示的に連鎖させます。数値を要求する関数の場合は、number()
関数を使用して変換する必要があります。
関数get-content-as-string
を使用すると、出力に不適切な改行文字が挿入されます。たとえば、次のようなソース要素であると仮定します。
<ID xmlns="">Mapper1000</ID>
関数get-content-as-string
を使用した場合のXSLコードは次のようになります。
<inv:Invoice> <ID> <xsl:value-of select="orcl:get-content-as-string(/po:PurchaseOrder/ID)"/> </ID> </inv:Invoice>
出力は次のようになります(XalanをXSLプロセッサとして使用した場合)。
<ID><ID>Mapper1000</ID> </ID>
正しくは、次のように改行文字なしで表示されます。
<ID><ID>Mapper1000</ID> </ID>
正しく表示するには、get-content-as-string
の後にright-trim
関数を連鎖させます。
ソースXSDとターゲットXSDの例を次に示します。
ソースXSD:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org" elementFormDefault="qualified" > <xsd:element name="choiceSrc"> <xsd:complexType> <xsd:choice> <xsd:element name="Street" type="xsd:string"/> <xsd:element name="Street1" type="xsd:string"/> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema>
ターゲットXSD:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org" elementFormDefault="qualified" > <xsd:element name="choiceTgt"> <xsd:complexType> <xsd:choice> <xsd:element name="Street" type="xsd:string"/> <xsd:element name="Street1" type="xsd:string"/> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema>
自動的にルートをマップしない場合、または手動でソースStreet
をターゲットStreet
およびソースStreet1
をターゲットStreet1
にマップしない場合、生成されるXSLによって実行時に無効なXMLインスタンスが作成されます。
手動でマップするには、スキーマについての知識が必要です。choiceが含まれている場合は、手動でxsl:if
を使用する必要があります。
XPathビルディング・アシスタントを使用して(たとえば、assignアクティビティのコピー・ルールの作成ウィンドウで)ハイフンを含むXPath式を作成する場合、ハイフンを含む要素が青い下線付きで表示され、次のようなエラー・メッセージが表示されます。
(34) Message part of name xyz-pqr- xyz not found
ハイフンを含む要素がネストしている場合は、bpws:getVariableData()
を続行できません。次に例を示します。
bpws:getVariableData('ug_in_var','users-and-groups','')
多くの場合、このエラーは、ファイル・アダプタなどとともに使用されるネイティブ・フォーマット・ビルダー・ウィザードで要素名がデフォルトのハイフン付きのRoot-Element
で作成される場合などに発生します。
また、要素にroot = "publicKeyInfrastructureCertificateAuthorities"
やelement = "publicKeyInfrastructureCertificateAuthority"
などのように折り返しされるほどの長い名前が付けられている場合、XPath式の作成も失敗します。次のエラー・メッセージが表示されます。
"publicKeyInfrastructureCertificateAuthorities" not found
かわりに、コピー・ルールの作成ウィンドウの「式ビルダー」アイコンをクリックして、XPath式ビルダー・ウィンドウを表示します。このウィンドウを使用すると、要素にハイフンが含まれる式の作成や、長い名前のラップが可能になります。ハイフンの場合の例を次に示します。
bpws:getVariableData('ug_in_var','users-and-groups','/ns2:users-and-groups/ns2 :user-or-group/ns2:name')
この項では、次の問題と解決方法について説明します。
アダプタ・サービスのWSDLファイル内では、メッセージをパブリッシュするバッチの数に負の値を入力しないでください(たとえば、PublishSize="-1"
など)。JDeveloper BPEL Designerからプロセスをデプロイする際、検証エラーが発生する原因になります。アダプタ構成ウィザードを使用する場合は、このパラメータに負の値を入力できません。
同じBPELプロセスから複数のバッチ・ファイル・アダプタの起動を実行すると、データが正しくバッチされません。
同じBPELプロセスからのバッチ・ファイル・アダプタを複数起動する必要がある場合は、2番目(および後続)の起動を別のシェルのBPELプロセスから実行してください。これにより、ファイル・アダプタが起動されます。つまり、元のBPELプロセスの2番目のパートナ・リンクを変更し、ファイル・アダプタ・サービスのかわりに小さいBPELプロセスを指すようにします。このBPELプロセスによって、問題なくファイル・アダプタの起動が実行されます。
アダプタ構成ウィザードのファイル・ディレクトリ・ウィンドウを使用すると、FTPアダプタやファイル・アダプタの使用時に、着信ファイルのディレクトリとアーカイブ・ディレクトリの両方に、物理ディレクトリではなく論理名を指定できます。また、bpel.xml
ファイルに、対応するプロパティ設定を指定する必要があります(手動またはpartner linkアクティビティの「プロパティ」タブを使用)。
後でアダプタ構成ウィザードを再起動して、物理ディレクトリ・パスとアーカイブ・ディレクトリのどちらかの論理名を変更すると、両方のプロパティがbpel.xml
ファイルから削除されます。これらのプロパティの両方をbpel.xml
ファイルで更新する必要があります。
この項では、次の問題と解決方法について説明します。
データベース・アダプタでOC4Jの接続プーリングを使用する必要があります。OracleAS TopLinkの接続プーリングは使用しないでください。
関連資料: データベース・アダプタの接続プーリングの詳細は、『Oracle Application Server Adapters for Files, FTP, DatabasesおよびEnterprise Messagingユーザーズ・ガイド』を参照してください。 |
2つのプロセスを構成して次のタスクを実行すると、インバウンド・データベース・アダプタからデータが読み取られる際に無効な文字が表示されます。
ファイル・アダプタにより(Opaque形式で)Wordドキュメントが読み取られ、データベースのアウトバウンド処理に送信。これによりデータが表に挿入されます。
データベースのインバウンド処理によって同じデータを読み取り、ドキュメントへの書込みを行うアウトバウンド・ファイル・アダプタに送信。
解決方法は、NCLOB
のかわりにCLOB
を使用することです。
DATE
、TIMESTAMP
、TIMESTAMP WITH TIME ZONE
およびTIMESTAMP WITH LOCAL TIMEZONE
などのデータ型を使用して特定の値を設定した場合、期待した書式と異なることがあります。これは、データベース・アダプタによって、これらのデータベース・タイプがXMLタイプdateTime
にマップされるためです。インスタンスXMLの受信値と生成済XMLの発信値の両方で、dateTime
が使用されます。これはISO 8601標準と一致します。
SELECT
問合せの例を次に示します。
select dept.*,emp.* from departments dept,employees emp where dept.department_id='50' and emp.manager_id=dept.MANAGER_ID;
これは次のような意味です。
部門と同じmanager_id
を持つ従業員のいる部門50
を検索
前述のSQLコマンドでは、問合せと一致する部門および従業員のみが返されることに注意してください。アダプタで同じ結果を得るには、Employee
をルート表として選択する必要があります。ルート表としてDepartment
を選択した場合、アダプタは別々の関連の問合せで論理的に従業員を読み取ります。
select dept.* from departments dept,employees emp where dept.department_id='50' and emp.manager_id=dept.MANAGER_ID; select emp2.* from departments dept, employees emp, employees emp2 where dept.department_id='50' and emp.manager_id=dept.MANAGER_ID and emp2.department_id = dept.department_id;
この場合、アダプタは一致する部門および一致する各部門のすべての従業員を返します。これには、mangager_id != dept.MANAGER_ID
を持つ従業員も含まれます。
SQL構文は、ルート表のどの行を返すかということのみを決定するという、単純なルールに注意してください。返されるディテール行は、どのルート行およびマスター行が返されるかということにのみ依存します。どちらもWHERE
句の一部である2つの表から列が返されているため、前述のSQL構文をアダプタで表現するのは困難です。ルート表としてDepartment
ではなくEmployees
を選択した場合は成功しますが、その逆では成功しません。
JDeveloper BPEL Designerの「ダイアグラム・ビュー」からデータベース・アダプタのパートナ・リンクを削除した後、toplink_mappings.xml
、XSDおよびWSDLファイルは「アプリケーション・ナビゲータ」に残ります。リフレッシュしてもそのままです。これは既知の問題です。
(CLOB
として格納された)XMLファイルが読み取られ、スキーマに準拠しているタイプの変数に割り当てられた場合、データベース・アダプタは、CLOB
のコンテンツをXMLドキュメントまたはXMLノードとしてではなく、文字列として返します。これは、XMLType
がサポートされていないために発生する動作です。
データベース・アダプタ使用時には、複数のビューに対する問合せはサポートされません。これは、ビュー間のリレーションシップを作成できないためです。JDeveloper BPEL Designerでは、このためのオプションは提供されていません。さらに、1つの問合せ内で複数のビューや表に対して問い合せることもできません。
次のようなSQL問合せを入力します。
sqlquery : 'select count(*) from user_objects' rowset : false() row : false() datasource : 'jdbc:oracle:thin:system/welcome1@localhost:1521:ORCL'
この場合、次の例外エラーが発生します。
oracle.xml.sql.OracleXMLSQLException: Character ')' is not allowed in an XML tag name.
count(*)
、sum(price)
またはavr(price)
などのSQL問合せの文字列内で関数コールを使用する場合は、擬似別名を含めます。次に例を示します。
sqlquery : 'select count(*) as pseudo_alias_name_XXX from user_objects'
または
sqlquery : 'select sum(price) as total_price from user_objects'
この項では、次の問題と解決方法について説明します。
JMSアダプタを使用してAQJMSプロバイダに接続しており、AQのホスト・データベースが10.1.0.4である場合、データベース・サーバーが停止すると、アウトバウンド処理に含まれるアダプタの再試行メカニズムではデータベース・サーバーに再接続できません。これは、ojdbc14.jar
を持つJDBCクライアントの問題が原因です。問題を解決するには、10.1.0.4のJDBCドライバをダウンロードし、$MIDTIER_ORACLE_HOME/jdbc
にあるojdbc14.jar
などのライブラリを置換して中間層で使用します。この問題を解決するには、Metalink Note 317385.1の詳細情報を参照してください。
この項では、次の問題と解決方法について説明します。
アダプタ構成ウィザードのOracle Applicationsアダプタでは、Oracle Applicationsから送信されるXMLゲートウェイ・トランザクションの相関IDを指定することはできません。かわりに、BPEL
という相関IDがWSDLファイルに自動作成されます。次のような場合には、後述の処理を実行してください。
XMLゲートウェイ・トランザクションに対応した相関IDが設定されるように、Oracle Applicationsを構成する場合
Oracle Applications側で構成される相関IDとは別のIDを使用するアダプタが必要な場合
このような場合、アダプタ・サービスWSDLの<jca:operation>
セクションに含まれる次の行を編集し、BPEL
の部分を任意の文字列に置き換えます。
Correlation="BPEL"
アダプタ構成ウィザードのOracle Applicationsモジュール・ブラウザ・ウィンドウ上でオブジェクトを検索する場合、接続しているE-Business Suiteインスタンスのバージョンによってワイルドカードの使用方法が異なります。
リリース11.5.9の場合、オブジェクトの検索にはSQLのワイルドカードを使用します(たとえば、OE_HEADERS_IFACE%のように入力します)。
リリース11.5.10の場合、オブジェクトの検索にはワイルドカードとしての文字を使用しません(たとえば、OE_HEADERS_IFACEが前述の検索文字列と同じ意味になります)。
接続しているE-Business Suiteインスタンスのバージョンによって、アダプタ構成ウィザードのOracle Applicationsモジュール・ブラウザ・ウィンドウ上に表示される選択用オブジェクト(たとえば、表、ビュー、PL/SQLプロシージャ、コンカレント・プログラムなど)が異なります。
リリース11.5.9の場合、データベース(APPS
スキーマ)内で使用できるすべてのオブジェクトが表示されます(たとえば、FNDWFLOADおよびFNDWFRESGENなどのコンカレント・プログラムが表示されます)。
リリース11.5.10の場合、Integration Repositoryで使用可能なオブジェクトのみが表示されます(たとえば、FNDWFLOADおよびFNDWFRESGENなどのコンカレント・プログラムは表示されません)。
ストアド・プロシージャを使用して、アダプタ構成ウィザードによりラッパーSQLのストアド・プロシージャを生成する場合、生成されたラッパー・ストアド・プロシージャにDEFAULT
句が引き継がれないという制限があります。
回避するには、生成されたストアド・プロシージャ1つに対して一度だけ、次の手順を実行します。
生成されたラッパーSQLスクリプトを開きます。
ベースのストアド・プロシージャから対応するラッパーにすべてのデフォルト句をコピーします。
SQL*Plusを使用して、ラッパーSQLスクリプトをデータベースにリロードします。
生成されたXSDを編集します。パラメータにデフォルト句が含まれる場合、XSD内の対応要素には必ず余分な属性(db:default="true"
)が含まれます。次に例を示します。
FINANCE$INVOICE(isTrue INTEGER DEFAULT 1, value NUMBER DEFAULT 0)
isTrue
およびvalue
に対応するXSD要素に新しい属性を設定する必要があります。
<element name="ISTRUE" ... db:default="true" .../><element name="VALUE" ... db:default="true" .../>
コンカレント・プログラムおよびE-Commerce Gatewayインタフェースを使用する場合、e-Business Suiteインタフェース1つに対して一度だけ、次のような回避策を実行する必要があります。
次のSQLファイルをアダプタ構成ウィザードでOracle Applicationsアダプタを起動する前に(SQL*Plusを使用して)apps
スキーマにロードし、コンカレント・プログラムまたはE-Commerce Gatewayインタフェース用のサービスを作成します。
%ORACLE_HOME%\integration\orabpel\system\database\scripts\apps_cp_ecx_wrapper_oracle.sql
アダプタ構成ウィザードを使用した場合、生成されたPL/SQLラッパーのDEFAULT
句を保存できないという既知の問題も、この方法により回避できます。
同じ名前だが異なるパラメータ・セットで再作成されたAPIに対してラッパーを生成すると失敗します。
生成済のラッパーが必要な、パッケージ・プロシージャおよびトップレベル(またはルート)のプロシージャの両方で、この問題が発生します。次の例で、この問題を具体的に示します。
トップ・レベルで定義されたAPIを新規作成します。
SQL> create procedure test (a number, b varchar2, c BOOLEAN)
BOOLEAN
パラメータを指定して、ラッパーを必須にします。
アダプタ構成ウィザードでストアド・プロシージャに対応するデータベース・アダプタを使用し、このAPIに対するラッパーを生成およびロードします。
このAPIを削除して、異なるパラメータ・セットで再作成します。
SQL> drop procedure test SQL> create procedure test ( a number, b varchar2, c number, d BOOLEAN)
アダプタ構成ウィザードによってこのAPIのパートナ・リンクを生成しようとすると、次のようなメッセージが表示されて処理が失敗します。
the wrapper procedure, TOPLEVEL$TEST, could not be found
回避するには、JDeveloper BPEL Designerを終了し、ストアド・プロシージャを再作成した後(ただし2番目のパートナ・リンクを作成する前)に再起動してください。
この項では、次の問題と解決方法について説明します。
ra.xml
ファイルとoc4j-ra.xml
ファイルのすべてのプロパティ名は、大文字と小文字が完全に一致する必要があります。一致しない場合、実行時に次のようなエラー・メッセージがdomain.log
ファイルに表示されます。
Type=Dequeue_ptt, operation=Dequeue <2005-03-14 15:20:43,484> <ERROR> <default.collaxa.cube.activation> <AdapterFram ework::Inbound> Error while performing endpoint Activation: ORABPEL-12510<br> Unable to locate the JCA Resource Adapter via WSDL port element jca:address. The Adapter Framework is unable to startup the Resource Adapter specified in the WSDL jca:address element: @ {http://xmlns.oracle.com/pcbpel/wsdl/jca/}address: location='eis/aqSample' . .
たとえば、AQアダプタのOracle_Home
\integration\orabpel\system\appserver\oc4j\j2ee\home\application-deployments\default\AqAdapter\oc4j-ra.xml
ファイルのuserName
プロパティで、次のような大文字と小文字の表記規則が使用されるとします。
<config-property name="userName" value="scott"/>
この場合、これらの大文字と小文字が、対応するAQアダプタのOracle_Home
\integration\orabpel\system\appserver\oc4j\j2ee\home\connectors\default\AqAdapter\AqAdapter\META-INF\ra.xml
ファイルのuserName
プロパティと一致する必要があります。
<config-property-name>userName</config-property-name>
次のようにアダプタのヘッダー変数を作成した場合、後で同じreceiveウィンドウを介してこの変数を削除できません。回避するには、BPELソース・コード内のヘッダー変数を削除します。
BPELプロジェクトを作成します。
receiveアクティビティをダブルクリックします。
「アダプタ」タブをクリックし、アダプタのヘッダー変数を定義します。
アダプタ構成ウィザードでOracle Applicationsアダプタを選択し、データベース・オブジェクト・ウィンドウの「次へ」をクリックした場合、次のウィンドウが表示されるまでに時間がかかります。これは、データベースへの接続が行われるためです。ウィンドウの表示にかかる時間は、データベースへのネットワーク接続によって異なります。
この項では、次の問題と解決方法について説明します。
Oracle BPEL Process Managerでセンサー・アクションを作成し、センサー・データをOracle BAMサーバー上にデータ・オブジェクトとしてパブリッシュできます。この機能を使用するには、Oracle BAM 10.1.2.1.0(Oracle BAM 10.1.2パッチ1)をインストールする必要があります。Oracle BAM 10.1.2.1.0の入手の詳細は、次のURLの10.1.2のパッチに関するセクションを参照してください。
http://www.oracle.com/technology/products/integration/bam/htdocs/1012_support.html#patches
この項では、次の問題と解決方法について説明します。
Mozilla Webブラウザの「ファイル」メイン・メニューから、「新規作成」→「Navigator タブ」を選択します。
URLアドレスのフィールドにabout:config
と入力します。
新しいアドレスが強調表示されます。[Ctrl]を押しながら[Enter]を押します。
設定名のリスト内でsigned.applets.codebase_principal_support設定パラメータを検索します。
このパラメータをダブルクリックし、論理値を入力するウィンドウを表示します。
フィールドにtrueを入力し、「OK」をクリックします。
Oracle BPEL Consoleのレポート機能を使用する場合、次の問題に注意してください。
「問合せ」セクションの「終了日付」フィールドのフォーマットには、言語にかかわらず「mm/dd/yy」を指定します。
アクティビティ・センサーのレポートには、数値型(たとえば、integer、double、decimal、floatなど)の変数のみが表示されます。数値型以外の型はこのリリースではサポートされていません。さらに、JDeveloper BPEL Designerのアクティビティ・センサーの作成ウィンドウで、「評価時間」が「すべて」に設定されたアクティビティ・センサーに対してのみ、データが表示されます。
Albanyフォントがインストールされていない場合、グラフではアジア言語が正常に表示されない(四角に文字化けする)ことがあります。インストール時に適切なアジア言語を選択すると、Albanyフォントは自動的にインストールされます。
Mozilla Firefoxブラウザでは、検証機能を使用できません。たとえば、「期間の数」フィールドに-1を入力しても、この値は検証されません。さらに、Mozilla Firefoxでは、プロセス時間分布のレポート・バーが線として表示されます。
パフォーマンス・レポート・グラフ内でバーをクリックしても、正確なインスタンスの一覧が「インスタンス」ページに正しく表示されない場合があります。これは、品質保証契約(SLA)の小数点以下の値が整数に丸められているためです。たとえば、2つのインスタンスがあり、一方は3秒で、もう一方は2秒で完了します。SLA値は2.6秒です。一方のインスタンスはグラフの緑色の部分(SLA値を達成していることを示す)に、もう一方は赤色の部分(SLA値を達成していないことを示す)に表示されます。赤色の部分をクリックしても、インスタンスは表示されません。これは、SLA値が3秒に丸められて、一方のインスタンスの完了時間と等しくなっていることが原因です。
ビジネス・プロセス・インスタンスが1つ以上作成された場合のみ、デフォルトのSLA値がパフォーマンス・レポートに表示されます。
CSV形式にエクスポートしたレポートでは、日本語またはアジア言語の文字が表示されません。複数行のフォルト・メッセージを含むフォルト・センサー・レポートをCSV形式にエクスポートした場合、Microsoft Excelでは正しく表示されません。
インスタンスが消去された場合でも、センサー・データは消去されません。したがって、対応するインスタンスがない場合も、アクティビティ・レポートおよびセンサー・レポートにはデータが表示されます。
「終了時間」フィールドは、時間単位のレポートでのみ使用され、日または週単位のレポートでは使用されません。たとえば、終了日付を07/29/05、終了時間を22:00、間隔を「週次」、回数を3とした場合、レポートは07/08/05から07/29/05の間で生成されます。終了時間は22:00であるにもかかわらず、いずれの時間(23:00または0:00など)にもインスタンスのレポートは生成されます。これは、日単位のレポートでも同様です。間隔が時間単位の場合のみ、レポートの生成は22:00に終了します。
Oracle BPEL管理コンソールで、ドメインを削除できない場合、または削除済ドメインを同じ名前で再作成できない(ドメインが存在するというメッセージが表示される)場合には、次の手順を実行してください。
Oracle BPEL Consoleに移動します。
「BPELプロセス」タブを選択し、次に「WSDLキャッシュの消去」を選択します。
Oracle Database Liteを使用して、SOAPメッセージの大容量バイナリ添付ファイルを使用すると、BPELプロセスの処理が完了しない場合があります。これにより、システム・メモリーが大量に消費されることがあります。Oracle Database Liteは主にテスト用であることに注意してください。SOAPメッセージの大容量バイナリ添付ファイルを使用する場合、デハイドレーション・ストアにはOracle DatabaseまたはOracle Application Server Metadata Repositoryを利用してください。
関連資料: サポートされているOracle DatabaseおよびOracle Application Server Metadata Repositoryの情報は、『Oracle BPEL Process Managerインストレーション・ガイド』を参照してください。 |
Oracle BPEL Consoleにおける、optSoapShortcutパラメータのデフォルト値はtrueです。この設定の場合、Direct Internet Message Encapsulation(DIME)プロトコルを使用し、SOAPメッセージのバイナリ・データ添付を伴うBPELプロセスを実行しても、Oracle BPEL Consoleのプロセス・インスタンスに対する監査証跡には添付キーが表示されません。これは、デハイドレーション・データベースにバイナリ添付ファイルが保存されていないことが原因です。かわりに、監査証跡にはHTMLファイルが表示されます。次に例を示します。
<PutCompanyInfo>
. . .
. . .
<report href="C:\orabpel\domains\default\tmp\.bpel_DIMERequester_1.0.jar\report.html"/> </PutCompanyInfo>
回避するには、Oracle BPEL ConsoleでoptSoapShortcutをfalseに設定してください。これにより、ファイルがデハイドレーション・ストアに保存され、インスタンスに対する監査証跡には(HTMLファイルではなく)添付キーが表示されます。添付キーをコピーし、監査証跡ウィンドウの下にある添付キー・フィールドに貼り付けます。次に、「ダウンロード」をクリックして、表示用にファイルとして保存します。この操作を行うと、ファイルのダウンロード開始時にJSPのファイル形式で添付キーを保存するようメッセージが表示されます。かわりに、HTML形式でファイルを保存します。
この項では、次の問題と解決方法について説明します。
Oracle BPEL Consoleのレポート・ポートレットを使用する場合、次の問題に注意してください。
Oracle BPEL Consoleのレポート・ポートレットを使用するには、uix2.jar
ファイルをORACLE_HOME
\integration\orabpel\lib
から別のディレクトリ(たとえば、C:\OraMidTier
\integration\orabpel\temp-lib
など)に移動し、次のようにこのライブラリ・パスをORACLE_HOME
\j2ee\OC4J_BPEL\config\application.xml
ファイルに加えます。
<library path="C:\OraMidTier\integration\orabpel\temp-lib"/>
Oracle Application Server Portalのポートレット・パラメータとページ・パラメータをマップする場合、Oracle BPEL Consoleのレポート・ポートレット・ページのパラメータである「期間」パラメータは(DAILY、WEEKLY、HOURLYのように)常に大文字である必要があります。ページ・パラメータとポートレット・パラメータのマップの詳細は、『Oracle BPEL Process Manager開発者ガイド』の「Oracle BPEL Porlet」、手順5のページ・パラメータとポートレット・パラメータのマップに関する項を参照してください。
Oracle BPEL Worklist Applicationポートレットを使用する場合、次の問題に注意してください。
dcmctl
によりOracle BPEL Portletをデプロイした後、Oracle Internet Directoryを使用してWebプロバイダを構成する必要があります。その際、Oracle_Home
\j2ee\OC4J_BPEL\application-deployments\provider\orion-application.xml
に必ず次の設定を加えてください。
<jazn provider="LDAP" default-realm="idc"><jazn-web-appauth-method="SSO"/></jazn>
dcmctl
によるOracle BPEL Portletのデプロイについては、『Oracle BPEL Process Manager開発者ガイド』を参照してください。
Oracle BPEL Worklist Applicationポートレットを使用するには、uix2.jar
ファイルをORACLE_HOME
\integration\orabpel\lib
から別のディレクトリ(たとえば、C:\OraMidTier
\integration\orabpel\temp-lib
など)に移動し、次のようにこのライブラリ・パスをORACLE_HOME
\j2ee\OC4J_BPEL\config\application.xml
ファイルに加えます。
<library path="C:\OraMidTier\integration\orabpel\temp-lib"/>
ポートレットのタイトルが360文字を超えた場合、正常に処理されません。
BPEL WorklistポートレットおよびBPEL Worklist Analysisポートレットにパラメータを指定する場合、表示のカスタマイズ・セクションの「タイトル」フィールドにはURLアドレスなどの長いタイトルを使用しないでください。タイトルが長いと、ポートレットのレイアウトが崩れ、右上にあるパーソナライズ・リンクが使用できなくなることがあります。
初回起動時には、Worklistポートレットのタイトル・バーが表示されません。
Oracle Application Server Portalを最初にインストールした後、Webプロバイダを登録してページ・グループを新規作成し、そのページ・グループにOracle BPEL Worklist Applicationポートレットを追加した場合、タイトル・バーが表示されません。したがって、タイトル・バーの右上にあるパーソナライズ・リンクへのアクセスが不可能です。回避するには、2つ目のページ・グループを作成し、そのグループにOracle BPEL Worklist Applicationポートレットを追加してください。このグループ、およびそれ以降に作成したすべてのグループには、タイトル・バーおよびパーソナライズ・リンクが表示されます。
BPEL Worklistポートレットには、全タスクのステータスが表示されます。
BPEL Worklist Portletのタスクのカスタマイズ・セクションにおいて、「カテゴリ」リストで「すべて」または「前へ」を選択し、「ステータス」リストで「割当て済」を選択した場合、「割当て済」に指定したタスクだけでなく、全タスクのステータスが表示されます。
この項では、次の問題と解決方法について説明します。
Oracle BPEL Process ManagerおよびReal Application Clustersデータベース
Oracle Enterprise ManagerによるOracle BPEL Process Managerのバックアップおよびリカバリ
Oracle BPEL Process Managerでは、データベース・アダプタ用のデハイドレーション・ストアまたはデータソースとして、Real Application Clusters(RAC)データベースを使用できます。ただし、RACを手動で設定し、複数のパッチを適用する必要があります。サポートが必要な場合は、オラクル社カスタマ・サポート・センターに連絡してください。
Oracle BPEL Process Manager 10.1.2.0.2では、障害時リカバリ(DR)機能はサポートされていません。
Oracle Enterprise Managerを使用して、Oracle BPEL Process Managerを正常にバックアップおよびリカバリするには、次の手順を実行する必要があります。
OracleAS中間層へのインストールに使用する、BPEL Process ManagerのOracle_Home
\backup_restore\config\config_IPbpm_files.inp
ファイルを開きます。
このファイルの現在の行を、次に示すディレクトリ・パスに書き換えます。
# Orabpel # ${OH}/integration/orabpel/system/config/collaxa-config.xml ${OH}/integration/orabpel/system/config/* ${OH}/integration/orabpel/system/logs/* ${OH}/integration/orabpel/system/xmllib/* ${OH}/integration/orabpel/domains/*/archive/* ${OH}/integration/orabpel/domains/*/config/* ${OH}/integration/orabpel/domains/*/deploy/* #${OH}/integration/orabpel/domains/*/logs/*
config_IPbpm_files.inp
をconfig_files_list
パラメータの末尾に追加し、Oracle_Home
\backup_restore\config\config.inp
ファイルを変更します。次に例を示します。
config_files_list=config_ohs_files_nt.inp,...,config_iaspt_files.inp,config_IPbpm_files.inp
この項では、次の問題と解決方法について説明します。
電子メール・メッセージの件名
フィールドをエンコーディングする際は、常にOracle BPEL Serverと同じ言語を設定する必要があります(変更はできません)。Oracle BPEL Serverの言語以外で電子メールの件名が記述された場合、電子メール・クライアントの件名
フィールドが文字化けします。ただし、電子メール・メッセージ本文は正常に表示されます。
XSLマップのテスト・ウィンドウでは、ソースおよびターゲットのXMLファイルは、常にUTF-8エンコーディングで保存されます。XMLヘッダーで異なるエンコーディングを指定しても同様です。これにより、ヘッダー内のエンコーディング値を不正に編集する危険性が少なくなります。
XSLTマッパーでは、UTF-8エンコーディングを使用して、ファイルからXSLコンテンツを読み取ります。そのため、XSLコンテンツのエンコーディングがUTF-8以外の場合は、解析エラーが発生します。
解決方法として、次のいずれかを実行します。
古いマップ・ファイルを別のマップ・ファイルとしてUTF-8エンコーディングで保存し、マッパーで開きます。
古いマップ・ファイルを開き、ソース・ビューでエンコーディングをUTF-8に変更します。その後、「設計」ビューに切り替えることができます。
マルチバイトの名前のBPELプロジェクトを作成すると、生成されるWSDLファイル名とその参照ネームスペースのURLが正しく処理されず、BPELプロセスが無効になります。
回避するには、プロセスのファイル名とネームスペースにASCIIキャラクタ・セットを使用します。
ネイティブ・フォーマット・ビルダー・ウィザードで固定長ファイル・タイプを選択した場合、各レコードのフィールド長を指定するためのフィールド長ウィンドウのルーラーは、マルチバイト対応になりません。
拡張XPath関数ora:readFile
では、最初のパラメータとしてファイル・ディレクトリ・パスが要求されます。これらの関数は、OSのデフォルト・エンコーディングを使用して、指定されたファイルを読み取ります。指定されたファイルがローカル・ファイル・システムにある場合は、問題ありません。ただし、指定されたパスがURLの場合、ターゲット・ファイルがOSのデフォルト・エンコーディングでエンコードされているとはかぎりません。
インバウンドのJMSアダプタを構成してテキスト・メッセージを消費すると、受信したデータが文字化けする場合があります。この問題を回避するには、ネイティブ・フォーマット・ビルダー・ウィザードで作成したXSDスキーマを使用し、プロンプトが表示された際にキャラクタ・セットとしてUTF-8を選択します。
標準XSDを使用する場合、JMSキューまたはトピック内のテキスト・メッセージは、通常、XML文字列です。エンコーディング属性を持つXMLヘッダー文字列を含めることはできますが、前述の問題を回避するためには、XMLヘッダーなし、またはencoding="UTF-8"
の属性を使用してエンキューを行うようにしてください。
JMSメッセージがバイト・メッセージの場合、この問題は発生しません。
Oracle_Home
\integration\orabpel\samples\demos\OWFBridge
サンプルには、WFDemoという名前のOracle Workflowプロセスが含まれます。このプロセスはOracle Workflowサンプルの一部であるため、サンプルを実行する前にOracle Workflowがロードされている必要があります。そうなっていない場合、サンプルをビルドするとOracle BPEL Consoleでエラーが発生します。
関連資料: データソース定義の追加の情報など、Oracle Workflowブリッジの詳細は、『Oracle BPEL Process Manager開発者ガイド』を参照してください。 |
この項では、ドキュメントに含まれる既知の誤りについて説明します。次の項目が含まれます。
章: 19「バックアップとリカバリの概要」
項: Oracle Application Serverコンポーネント・バックアップ入力ファイル
表19-1には、config_ip_files.inp
という名前でOracle BPEL Process Managerのバックアップ用入力ファイルが表示されています。正しいファイル名は、config_IPbpm_files.inp
です。
また、次の行は無視できます。
「コンポーネント名」列: Business Integration Process Manager
バックアップ用入力ファイル列: config_IPbpm_files.inp