Oracle Application Server Adapter for Oracle Applications ユーザーズ・ガイド 10g (10.1.3.4.0) B50865-01 | ![]() 目次 | ![]() 戻る | ![]() 次へ |
この章の構成は、次のとおりです。
OracleAS Adapter for Oracle Applicationsでは、PL/SQL Application Programming Interface(API)を使用して、Oracle Applicationsへのデータの挿入や更新を行います。APIは、Oracle Applicationsへのデータの挿入および更新を可能にするストアド・プロシージャです。PL/SQL APIを使用してデータを取得することもできます。たとえば、PL/SQL APIを使用して、Oracle Applicationsに顧客レコードを挿入できます。
注意: PL/SQLプロシージャの制限の詳細は、『Oracle Application Server Adapters for Files, FTP, DatabasesおよびEnterprise Messagingユーザーズ・ガイド』を参照してください。
この項では、PL/SQL APIを使用するようにOracleAS Adapter for Oracle Applicationsを構成する方法について説明します。この項では、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してOracleAS Adapter for Oracle Applicationsを構成する際の必須タスクについて説明します。
OracleAS Adapter for Oracle Applicationsは、Oracle JDeveloperのBPEL Process Manager(PM)を使用してデプロイされます。BPEL PMにより、API用のWSDLインタフェースが作成されます。
Oracle Applicationsのコンテキスト情報を提供するには、BPEL PMに特定の変数を移入する必要があります。APIトランザクションに必要なコンテキスト情報には、(組織ID、ユーザー名および職責のアプリケーション・コンテキストに基づいて)プログラムを実行できる権限を持つOracle Applicationsユーザーのユーザー名と職責が含まれます。ユーザー名について渡されるデフォルト値はSYSADMINです。職責について渡されるデフォルト値はSYSTEM ADMINISTRATORです。
ユーザー名と職責について生成WSDLに指定されているデフォルト値は変更できます。これは、コンテキスト情報を静的に変更する方法です。これらの値は、デプロイ済のビジネス・プロセスのすべての起動に適用されます。ただし、ビジネス・プロセスの起動ごとに異なるコンテキスト情報を提供する必要がある場合は、ユーザー名と職責の値をヘッダー変数に動的に移入できます。コンテキスト情報を指定するには、BPEL PMでinvokeアクティビティの前にassignアクティビティを構成します。
設計時タスクを実行するために必要な手順のリストを次に示します。
新規BPELプロジェクトを作成する手順は、次のとおりです。
BPEL Designerを開きます。
「ファイル」メニューから「新規」を選択します。「新規ギャラリ」ダイアログ・ボックスが表示されます。
「フィルタ方法」リストから「すべての項目」を選択します。これにより、使用可能なカテゴリのリストが表示されます。
「General」ノードを開いてから、「Projects」を選択します。
「項目」リストから「BPELプロセス・プロジェクト」を選択します。
新規BPELプロセス・プロジェクトの作成
「OK」をクリックします。「BPELプロセス・プロジェクト」ダイアログ・ボックスが表示されます。
「BPELプロセス名」フィールドに、内容の説明となる名前を入力します。たとえば、InsertShipNoticeと入力します。
「テンプレート」リストから「空のBPELプロセス」を選択します。「プロジェクト・コンテンツ」セクションでは「デフォルトを使用」のデフォルトの選択内容を保持します。
新規BPELプロセス・プロジェクトの名前の指定
「OK」をクリックします。bpel.xml、InsertShipNotice.xmlおよびInsertShipNotice.wsdlなどの必要なソース・ファイルが含まれた空のBPELプロセスが作成されます。
新規BPELプロセス
次のタスクは、BPELプロセスにパートナ・リンクを追加することです。この項では、BPELプロセスにパートナ・リンクを追加してアプリケーション・サービス用のOracleAS Adapterを作成する方法について説明します。BPELパートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
パートナ・リンクを追加する手順は、次のとおりです。
プロセス・ダイアグラムの境界領域に「partnerLink」をドラッグ・アンド・ドロップします。「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。
「WSDL設定」セクションで「アダプタ・サービスの定義」をクリックします。「アダプタ構成ウィザード」が表示されます。
「次へ」をクリックします。「アダプタ・タイプ」ダイアログ・ボックスが表示されます。
「Oracle Applications」を選択して、構成するアダプタを指定します。
OracleAS Adapter for Oracle Applicationsの選択
「次へ」をクリックします。「サービス名」ダイアログ・ボックスが表示されます。
次の情報を入力します。
「サービス名」フィールドにサービス名を入力します。
「説明」フィールドに、サービスに関する説明を入力します。このフィールドはオプションです。「サービス名」ダイアログ・ボックスが表示されます。
サービス名および説明の指定
「次へ」をクリックします。「サービス接続」ダイアログ・ボックスが表示されます。
新規データベース接続の作成
「新規」をクリックしてデータベース接続を定義します。「データベース接続の作成」ウィザードが表示されます。「接続」リストから既存のデータベース接続を選択するという方法もあります。
注意: Oracle Applicationsを実行しているデータベースに接続する必要があります。
「次へ」をクリックします。「タイプ」ダイアログ・ボックスが表示されます。
「タイプ」ダイアログ・ボックスに次の情報を入力します。
「接続名」フィールドで、データベース接続の一意の名前を指定します。
「接続タイプ」リストから、データベースの接続タイプを選択します。
データベース接続の名前およびタイプの指定
「次へ」をクリックします。「認証」ダイアログ・ボックスが表示されます。
次の情報を入力します。
「ユーザー名」フィールドで、データベース接続の一意の名前を指定します。
「パスワード」フィールドで、データベース接続のパスワードを指定します。
「次へ」をクリックします。「接続」ダイアログ・ボックスが表示されます。
次の情報を入力します。
「ドライバ」リストからThinを選択します。
「ホスト名」フィールドで、データベース接続のホスト名を指定します。
「JDBCポート」フィールドで、データベース接続のポート番号を指定します。
「SID」フィールドで、データベース接続の一意のSID値を指定します。
新規データベースの接続詳細の指定
「次へ」をクリックします。「テスト」ダイアログ・ボックスが表示されます。
「接続のテスト」をクリックし、指定した情報によってデータベースとの接続が確立されるかどうかを判断します。
「次へ」をクリックします。「サービス接続」ダイアログ・ボックスに、データベース接続の要約が表示されます。
データベース接続に対応するJNDI(Java Naming and Directory Interface)名が、「データベース・サーバーのJNDI名」フィールドに自動的に表示されます。JNDI名を指定することもできます。
注意: JNDI名を指定する場合、データベースにアクセスするには、Oracle Applicationsアダプタのデプロイメント・ディスクリプタにより、このJNDI名をアダプタで必要な構成プロパティに関連付ける必要があります。
JNDI名は、サービスがBPELサーバーにデプロイされるときに使用される接続のプレースホルダとなります。これによって、開発用とその後の本番用とで異なるデータベースを使用できます。
注意: JNDIの概念の詳細は、『Oracle Application Server Adapter概要』を参照してください。
「終了」をクリックし、新規データベース接続の作成プロセスを完了します。
新規のサービス接続の作成を完了した後、Oracle Applicationsで使用可能なAPIのリストを参照してPL/SQL APIを追加できます。
「次へ」をクリックします。
Oracle E-Business Suiteリリース12の場合
Oracle E-Business Suiteリリース12に接続している場合は、「IREPファイルがありません」ダイアログ・ボックスが表示されます。これは、ワークスペース内でOracle Applicationsに接続中のデータベースに対応するOracle Integration Repositoryデータファイルが見つからないことを示します。データファイルがないと、Integration Repositoryツリーの参照や検索がかなり低速になります。データファイルを抽出し、Integration Repositoryデータファイルのローカル・コピーを作成するように選択できます。正常に作成されたローカル・コピーは、次回にOracleAS Adapterにより自動的に使用され、ローカルIntegration Repositoryからデータが取得されます。
次のいずれかのオプションを選択できます。
Integration Repositoryデータファイルを抽出するには、「はい」をクリックします。
Integration Repositoryデータファイルの抽出
システムによりIntegration Repositoryデータファイルのローカル・コピーが正常に作成されると、データベースへの次回接続時には、「操作」ダイアログ・ボックスに「IRepデータファイル」フィールドが表示されます。これは、ファイル名の一部に作成日時を含んだローカル・コピーが存在することを示します。
ローカルIntegration Repositoryデータファイルの使用
接続中の本番データベースからIntegration Repositoryデータファイルを問い合せてIntegration Repositoryツリーを表示するには、「いいえ」をクリックします。
注意: OracleAS Adapterで次回はワークスペース内のローカル・コピーからデータを問い合せるように、Integration Repositoryデータファイルのローカル・コピーを作成することをお薦めします。これにより、パフォーマンスが向上します。
リリース11.5.10より前のOracle E-Business Suiteの場合
リリース11.5.10より前のOracle Applicationsインスタンスに接続している場合は、「アダプタ構成ウィザード」でインタフェース・タイプを選択する必要があります。「表/ビュー/API/コンカレント・プログラム」を選択して次に進んでください。
データベース・オブジェクトの追加
「アプリケーション・インタフェース」ダイアログ・ボックスで、「オブジェクト取得」をクリックして「Oracle Applicationsモジュール・ブラウザ」を開きます。
PL/SQL APIの指定
「Oracle Applicationsモジュール・ブラウザ」には、Oracle Applicationsで使用可能な各種の製品ファミリが表示されます。たとえば、Marketing SuiteやOrder Management SuiteはOracle Applicationsの製品ファミリです。製品ファミリには、個別製品が含まれています。たとえば、Order Management SuiteにはShipping Execution Common製品が含まれています。製品には、関連するビジネス・エンティティが含まれています。たとえば、Shipping Execution Common製品にはDeliveryエンティティが含まれています。
ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェースに従ってグループ化されています。PL/SQL APIはPLSQLカテゴリの下にあります。
注意: 以前のリリースでは、「Oracle Applicationsモジュール・ブラウザ」には、パッケージで使用可能なすべてのPL/SQL APIが表示されていました。リリース11.5.10からは、「Oracle Applicationsモジュール・ブラウザ」にはOracle Integration Repositoryに公開されているパブリックPL/SQL APIのみが表示されます。
既存(統合リポジトリ)のPL/SQLパッケージ内のカスタマイズされたAPIを「Oracle Applicationsモジュール・ブラウザ」ツリーに表示するかどうかを指定できます。PL/SQLパッケージの名前を右クリックし、「はい」をクリックして、すべてのAPIを表示する(デフォルト)か、「いいえ」をクリックして、カスタマイズされたAPIを非表示にします。
注意: この選択は、各PL/SQLパッケージに個別に適用され、現在のJDeveloperセッションの間のみ有効です。
必要なPL/SQL APIを選択します。選択したAPIのシグネチャが表示されます。
「OK」をクリックします。アダプタ・サービスごとに選択できるAPIは1つのみです。
注意: 必要なオブジェクトを素早く見つけるには、「検索」オプションを使用します。「オブジェクト名」フィールドに必要なデータベース・オブジェクト名を入力し、「API」を選択します。続いて、「検索」をクリックし、必要なデータベース・オブジェクトを検索します。PL/SQL APIの検索時には、プロシージャ名ではなくパッケージ名を入力します。これに対して、データベース・アダプタ・ウィザードを使用している場合は、検索時にPL/SQL API名を入力する必要があります。
PL/SQL APIの追加
「次へ」をクリックし、「終了」をクリックしてOracleAS Adapter for Oracle Applicationsの構成プロセスを完了します。XMLスキーマに対応するWSDLファイルが生成されます。このWSDLファイルをパートナ・リンクに使用できます。
「OK」をクリックします。必要なWSDL設定を使用してパートナ・リンクが作成されます。
パートナ・リンクの追加と構成を完了後、次のタスクはBPELプロセスを構成することです。
「アダプタ構成ウィザード」では、PL/SQL APIにPL/SQL Boolean、PL/SQL TableまたはPL/SQL Recordなどのデータ型の引数がある場合にラッパーAPIが生成されます。ラッパーAPIの生成時には、自動的にOracle JPublisherがバックグラウンドで起動します。ラッパーAPIが作成されるときに、WSDLファイルとXSDファイルに加えて2つのSQLファイルが作成されます。一方はラッパーAPIと必要なデータ型の作成用で、他方はその削除用です。この2つのSQLファイルは、WSDLファイルおよびXSDファイルと同じディレクトリに保存され、「プロジェクト」ビューで使用できます。
ラッパーの生成を必要とするPL/SQL APIのサンプル・コードを次に示します。
package pkg is
type rec is record (...);
type tbl is table of .. index by ..;
procedure proc(r rec, t tbl, b boolean);
end;
前述のPL/SQL APIをウィザードで選択すると、ラッパーAPIが作成されてデータベースにロードされます。このラッパーAPIは、最初に選択したPL/SQL APIのかわりに使用されます。このため、WSDLファイルとXSDファイルの内容は、最初に選択したプロシージャではなくラッパー・プロシージャを表します。
ラッパーAPIについて作成される型は、次のとおりです。
PL/SQL RECORDの場合はオブジェクト型。
PL/SQL TABLEの場合は指定の型のネストした表。たとえば、NUMBERのネストした表。
PL/SQL BOOLEANの場合は置換されるINTEGER。
ラッパーAPIを作成する生成SQLファイルにより、必要なスキーマ・オブジェクトも作成されます。ラッパーAPIパラメータの型は、新規スキーマ・オブジェクト型の型になります。ラッパー・パッケージには、ベースPL/SQL型と新規のスキーマ・オブジェクト型の間で変換するための変換APIが組み込まれます。
注意: SQLJUTLパッケージには、データ型がINTEGERに変更されたPL/SQL BOOLEAN引数に使用されるBOOL2INTおよびINT2BOOL変換関数が含まれます。
ラッパーAPIはパッケージ内で作成されます。このパッケージの名前は、XX_BPEL_servicenameとなります。servicenameは、「パートナ・リンクの追加」の手順6で入力したサービスの名前です。このパッケージが存在する場合、ウィザードでは、別のパッケージ名を入力するか、チェック・ボックスを選択して既存のパッケージを上書きするように求めるプロンプトが表示されます。既存のパッケージを上書きすると、指定したパッケージ内のPL/SQL APIがすべて失われます。ウィザードで作成されるラッパー用パッケージには、APIが1つ(ラッパーAPI)のみ含まれます。
注意: 既存のパッケージを上書きするように指定しても、指定のパッケージにラッパーAPIが存在する場合は、(少し時間がかかる場合がありますが)ウィザードでラッパーAPIが再作成されることはありません。これは、SQLファイルが作成されず、Oracle JPublisherが実行されず、WSDLファイルとXSDファイルが既存のラッパーAPIを表すことを意味します。ウィザードの「終了」ページには、これらのアクションが発生することが表示されますが、ラッパーの有無によっては実行されない可能性があります。
ラッパーAPIのパッケージ名の入力
注意: ラッパーのパッケージ名には30文字以内、ラッパーAPI名には29文字以内という制限があります。そのため、パッケージ名またはラッパーAPI名の文字数が制限を超えると、制限に従って切り捨てられます。
ラッパーAPIの名前は、最初に選択したPL/SQL APIがパッケージ内にあるかどうかに応じて異なります。最初のPL/SQL APIがルート・レベルAPIの場合、つまりパッケージに属していない場合、ラッパーAPIの名前はTOPLEVEL$original_api_nameとなります。最初に選択したPL/SQL APIがパッケージ内にある場合、ラッパーAPIの名前はoriginal_package_name$original_api_nameとなります。
ラッパーAPIには、Oracle JPublisherのネーミング規則が適用されます。たとえば、元のPL/SQL APIがCREATE_EMPLOYEEという名前のルート・レベルAPIだった場合、ラッパーAPIの名前はTOPLEVEL$CREATE_EMPLOYEEとなります。元のPL/SQL APIがEMPLOYEEというパッケージにある場合、ラッパーAPIの名前はEMPLOYEE$CREATE_EMPLOYEEとなります。
ラッパーAPIを作成する必要がある場合は異なる「終了」ページが表示されます。「終了」ページはラッパーAPIが必要であることを示し、作成されるラッパー・パッケージ、ラッパーAPIおよびSQLファイルの名前のリストが表示されます。
注意: ラッパーAPIの作成が必要な場合は、ウィザードが完了するまでに時間がかかることがあります。ただし、同じパッケージ内に含まれる以降のPL/SQL APIの処理時間は大幅に短縮されます。
「終了」ページ
注意: REF CURSOR型は、そのままではサポートされません。ただし、REF CURSOR型を使用するPL/SQL APIに対するアダプタ・サービスの生成手順の詳細は、OTNの『Oracle BPEL Process Manager開発者ガイド』のREF CURSORに関する項を参照してください。
リリース11.5.10では、オーバーロードされたAPIはサポートされません。
DEFAULT句を使用してストアド・プロシージャのパラメータを宣言できるため、そのパラメータを使用せずにプロシージャを起動すると、BPEL Process Managerによりそのパラメータのデフォルト値が指定されます。次に例を示します。
PROCEDURE addEmployee (name VARCHAR2, country VARCHAR2 DEFAULT ‘US')
このプロシージャを起動するには、次の2つの方法があります。
addEmployee (‘John Smith') // country => ‘US'
addEmployee (‘John Smith', ‘France') // country => ‘France'
DEFAULT句を持つパラメータの省略
インスタンスXMLでは、デフォルト値を持つパラメータの要素を省略できます。次の入力および実行時の起動の例に示すように、プロシージャはこの種のパラメータを使用せずに起動され、デフォルト値を使用できます。
入力
<db:InputParameters xmlns:db="…">
<name>John Smith</name>
</db:InputParameters>
実行時の起動
BEGIN addEmployee (name=>?); END; // country => 'US'
入力にデフォルト設定されたパラメータの値が含まれている場合、次に示すように、デフォルト値ではなく、入力の値が使用されます。
入力
<db:InputParameters xmlns:db="…">
<name>John Smith</name>
<country>France</country>
</db:InputParameters>
実行時の起動
BEGIN addEmployee (name=>?, country=>?); END; // country => 'France'
DEFAULT句を持たないパラメータの省略
DEFAULT句を持つパラメータの場合、次の例に示すように、XSDの要素はパラメータがDEFAULT句を持つことを示す特殊タグで注釈付けされます。
<element name="country" … db:default="true" …/>
この新機能により、DEFAULT句を持たないパラメータの要素もインスタンスXMLから省略できます。このような場合も、パラメータはストアド・プロシージャの起動に含まれます。値NULLはデフォルトでバインドされます。どちらのパラメータもDEFAULT句を持っていない宣言の例を次に示します。
PROCEDURE addEmployee (name VARCHAR2, country VARCHAR2)
BPEL Process Managerリリース10.1.2では、インスタンスXMLに両方のパラメータの要素が必要でした。要素が省略されると、そのパラメータがプロシージャの起動に含まれないように、DEFAULT句を持つものとみなされました。この場合、パラメータが欠落しているため、プロシージャに渡された引数の数が不正であることを示すPL/SQLエラーとなります。
現行リリースのBPEL Process Managerでは、欠落しているパラメータがプロシージャの起動に含まれます。次の例のようにNULL値がバインドされます。
入力
<db:InputParameters xmlns:db="…">
<name>John Smith</name>
</db:InputParameters>
実行時の起動
BEGIN addEmployee (name =>?, country=>?); END; // country => NULL
countryの要素がインスタンスXMLで指定されていなくても、プロシージャのコールには出現します。この場合、countryはNULLとなります。
ラッパー・プロシージャを処理するDEFAULT句
プロシージャにラッパーの生成を必要とする特殊な型が含まれている場合、次の例に示すように、元のパラメータのDEFAULT句はラッパーに引き継がれません。
PROCEDURE needsWrapper(isTrue BOOLEAN, value NUMBER DEFAULT 0)
この例のプロシージャがパッケージ外部のトップレベルで定義されている場合は、次のように、生成されたラッパーが表示されます。
TOPLEVEL$NEEDSWRAPPER (isTrue INTEGER, value NUMBER)
この例では、BOOLEAN型がINTEGERで置換されています。valueパラメータのDEFAULT句が欠落しています。現行リリースでは、元のプロシージャにDEFAULT句があった場合にも、生成されたラッパー・プロシージャのパラメータはDEFAULT句を持ちません。インスタンスXMLで要素が0にデフォルト設定されるかわりに欠落している場合、次の例に示すようにパラメータの値はNULLとなります。
入力
<db:InputParameters xmlns:db="…">
<isTrue>1</isTrue>
</db:InputParameters>
実行時の起動
BEGIN TOPLEVEL$NEEDSWRAPPER (isTrue =>?, value =>?); END; // value => NULL
この問題を修正するには、生成されたSQLファイルを編集してDEFAULT句をリストアできます。その後、SQLファイルを実行してラッパー定義をデータベース・スキーマにリロードする必要があります。また、生成されたXSDを変更してください。
needsWrapper()について生成されたラッパーでDEFAULT句を修正する手順は、次のとおりです。
生成されたラッパーSQLファイル内のシグネチャを変更します。
TOPLEVEL$NEEDSWRAPPER (isTrue INTEGER, value NUMBER)
変更後は次のようになります。
TOPLEVEL$NEEDSWRAPPER (isTrue INTEGER, value NUMBER DEFAULT 0)
前述の例で変更したラッパーSQLファイルを、適切なデータベース・スキーマにリロードします。DEFAULT句を持つBOOLEANパラメータの場合は、次のようにマップする必要があります。
DEFAULT TRUE(base) to DEFAULT 1 (wrapper)
DEFAULT FALSE (base) to DEFAULT 0 (wrapper)
たとえば、ベース・ストアド・プロシージャがPROCEDURE needsWrapper(isTrue BOOLEAN TRUE, value NUMBER DEFAULT 0)の場合、生成されたラッパーはTOPLEVEL$NEEDSWRAPPER (isTrue INTEGER, value NUMBER)となります。このストアド・プロシージャを、TOPLEVEL$NEEDSWRAPPER (isTrue INTEGER DEFAULT 1, value NUMBER DEFAULT 0)となるように手動で修正する必要があります。
パラメータがDEFAULT句を持つ場合は、XSD内の対応する要素に追加の属性db:default="true"が必要です。たとえば、DEFAULT句を持つパラメータTOPLEVEL$NEEDSWRAPPER(isTrue INTEGER DEFAULT 1, value NUMBER DEFAULT 0)の場合、XSDではisTrueおよびvalueの要素に次の新規属性が必要です。
<element name="ISTRUE" ... db:default="true" .../>
<element name="VALUE" ... db:default="true" .../>
invokeアクティビティを構成する手順は、次のとおりです。
「コンポーネント・パレット」からBPELプロセス内のinvokeアクティビティを挿入する場所に、「Invoke」をドラッグ・アンド・ドロップします。
invokeアクティビティのドラッグ
プロセス・マップで「Invoke」をダブルクリックして「Invoke」ダイアログ・ボックスを開きます。デフォルトで「一般」タブが選択されています。
invokeアクティビティの構成
「パートナ・リンク」ボックスで、起動するパートナ・リンクを選択します。これは、前項で構成したパートナ・リンクです。「操作」は自動的に選択されます。
「入力変数」フィールドの横にある「作成」アイコンをクリックします。表示される「変数の作成」ダイアログ・ボックスに内容の説明となる変数名を入力します。デフォルト名を受け入れることもできます。 「OK」をクリックします。
変数の作成
「出力変数」フィールドの横にある「作成」アイコンをクリックします。表示される「変数の作成」ダイアログ・ボックスに内容の説明となる変数名を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
「Invoke」ダイアログ・ボックスで、「適用」と「OK」を順番にクリックします。invokeアクティビティが構成されます。
注意: 「Invoke」ダイアログ・ボックスの「アダプタ」タブで、「入力ヘッダー変数」を定義できます。この変数を使用して、複数言語および複数組織設定のサポートに関するコンテキスト情報をOracle Applicationsに提供できます。
Invokeの編集ダイアログ・ボックスの「アダプタ」タブをクリックし、「入力ヘッダー変数」フィールドの「変数の参照」アイコンをクリックします。
入力ヘッダー変数の指定
「変数チューザ」ダイアログ・ボックスで、「変数」ノードを右クリックしてメニューから「変数の作成」オプションを選択します。
「メッセージ・タイプ」を選択して「メッセージ・タイプの参照」アイコンをクリックし、「タイプ・チューザ」ダイアログ・ボックスを開きます。
「パートナ・リンク」ノードを開き、パートナ・リンク用の「Header_msg」ノード{http://xmlns.oracle.com/pcbpel/adapter/appscontext/}Header_msgを探します。「Header_msg」ノードへのパスは、「パートナ・リンク」ノード→パートナ・リンクのWSDL→「インポートしたWSDL」→「AppsContextHeader.wsdl」→「メッセージ・タイプ」→「Header_msg」となっています。
ヘッダー変数の宣言
「OK」をクリックして「変数の作成」ダイアログ・ボックスに戻ります。選択したメッセージ・タイプが移入されています。
選択したヘッダー変数の移入
ユーザー名、職責およびORG_IDを含むヘッダー変数を表示するには、「メッセージ・タイプの参照」アイコンをクリックして「変数チューザ」ダイアログ・ボックスを開きます。ヘッダー変数を探して、アプリケーション・コンテキストに必要な前述の3つのパラメータを含む変数階層構造を表示します。
ヘッダー変数構造の表示
「OK」をクリックして「編集 Invoke」ダイアログに戻ります。選択したヘッダー変数が「入力ヘッダー変数」フィールドに移入されています。「適用」をクリックしてヘッダー作成を完了します。
入力ヘッダー変数の移入
transformアクティビティを使用して、入力変数と出力変数のパラメータを構成できます。変数値をOracle Applicationsで更新前に変換する必要がある場合にも、transformアクティビティを使用できます。
transformアクティビティを構成する手順は、次のとおりです。
プロセス・マップ・ウィンドウに「Transform」をドラッグ・アンド・ドロップします。「Transform」アクティビティは、「Receive」と「Invoke」の間に置く必要があります。
transformアクティビティの追加
プロセス・マップで「Transform」をダブルクリックして「Transform」ダイアログ・ボックスを開きます。デフォルトで「トランスフォーメーション」タブが選択されています。
transformアクティビティの構成
「ソース変数」ボックスと「ターゲット変数」ボックスからそれぞれの変数を選択します。要素が「ソース変数」から「ターゲット変数」にマップされます。
要素のマップ元変数のソース・パートを選択します。たとえば、ソース・パートとして発注リクエストからなるペイロード・スキーマを選択できます。
要素のマップ先変数のターゲット・パートを選択します。たとえば、ターゲット・パートとして発注確認からなるペイロード・スキーマを選択できます。
「マッパー・ファイル」フィールドの横にある「作成」アイコンをクリックして新規のトランスフォーメーション・マッピング・ファイルを作成します。「マッパー・ファイル」では、XSLTマッパー・トランスフォーメーション・ツールを使用してマッピングを作成するファイルを指定します。
トランスフォーメーション・マッピング・ファイルが表示されます。デフォルトで「設計」ビューが表示されます。
「設計」ビューでパラメータ値を定義できます。文字列関数を「設計」領域にドラッグします。この関数を、値を定義する適切なパラメータに接続します。
注意: ソース変数の入力パラメータ値を文字列関数で変換して、ターゲット変数の入力パラメータ値として使用できます。
関数のアイコンをダブルクリックします。「関数の編集」ダイアログ・ボックスが表示されます。
関数パラメータの入力
入力する必要のあるすべてのパラメータについて、手順8および9を繰り返します。
BPELプロセスの設計後、次のステップはそれをデプロイし、実行し、監視することです。
BPELプロセスは実行前にデプロイする必要があります。BPELプロセスは最初にコンパイルされてから、BPELサーバーにデプロイされます。
BPELプロセスをデプロイする手順は、次のとおりです。
「アプリケーション」ウィンドウでBPELプロジェクトを選択します。
プロジェクト名を右クリックし、表示されるメニューから「デプロイ」を選択します。
プロセスをローカルBPELサーバーにデプロイする場合は、「LocalBPELServer」と「デフォルト・ドメインにデプロイ」を順番に選択します。
BPELプロセスのデプロイ
「パスワード・プロンプト」ダイアログ・ボックスが表示されます。「ドメイン・パスワード」フィールドにデフォルト・ドメインのパスワードを入力して「OK」をクリックします。
ドメイン・パスワードの指定
BPELプロセスがコンパイルされ、デプロイされます。「メッセージ」ウィンドウで進行状況を確認できます。
「メッセージ」ウィンドウ
デプロイ後のBPELプロセスは、「BPELコンソール」に表示できます。「BPELコンソール」からプロセスを管理し、監視できます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。
BPELプロセスをテストする手順は、次のとおりです。
「BPELコンソール」を開くには、「スタート」をクリックして「プログラム」を選択します。「プログラム」メニューで、「Oracle - ORACLE_HOME」→「Oracle BPEL Process Manager 10.1.3」→「BPEL Console」を選択します。
「BPELコンソール」の「ログイン」ページが表示されます。
「Domain」ボックスで「Default」を選択します。「パスワード」フィールドにデフォルト・ドメインのパスワードを入力して「ログイン」をクリックします。
「Oracle BPELコンソール」が表示されます。
「デプロイ済のBPELプロセス」の下にデプロイ済プロセスのリストが表示されます。
デプロイ済のBPELプロセス
開始するBPELプロセスをクリックします。「開始」ページが表示されます。プロセスに必要な入力文字列を入力します。
「XMLメッセージの転送」をクリックしてプロセスを開始します。
BPELプロセスが開始されます。「ビジュアル・フロー」アイコンをクリックすると、プロセス・フローをチェックできます。
「BPELコンソール」の「開始」ページ
注意: Oracle Applicationsにレコードが書き込まれたことを確認するには、SQLのSELECT文を記述して、Oracle Applicationsに最後に挿入されたレコードを示す結果をフェッチします。または、Oracle Applicationsの特定のモジュールに移動して、レコード内で該当する変更を確認できます。
PL/SQL API統合で問題が発生した場合は、次のトラブルシューティング手順を実行します。
Oracle Applications環境のインスタンスでPL/SQL API統合を設計し、別のインスタンスで実行する場合は、2番目のインスタンスでSQLスクリプトを再実行して、必要なPL/SQLラッパーを作成します。
oc4j-ra.xmlのJNDIの位置が正しく構成されていることを確認します。
必要に応じて、encrypt.batを使用してoc4j-ra.xmlのパスワードを暗号化します。
統合の問題が解消されない場合は、デバッグを有効化できます。
BPEL Process Managerを使用して、PL/SQL APIのデバッグを有効化できます。
デバッグを有効化する手順は、次のとおりです。
BPEL Process Managerドメインにログインします。
yourdomain.collaxa.cube.wsを選択します。
「デバッグ」を選択します。
デバッグ情報がドメインのログ・ファイルに出力されます。BPEL Process Managerでログ・ファイルを調べるには、「ホーム」→「BPELドメイン」→「yourdomain」→「Logs」にナビゲートします。ログ・ファイルはyourdomain.logです。
Copyright © 2005, 2008, Oracle and/or its affiliates. All rights reserved.