Oracle® Fusion Middleware Oracle WebLogic Server Application Adapter for SAP R/3(SAP JCo 3.0)ユーザーズ・ガイド 11g リリース1 (11.1.1.3.0) B61422-01 |
|
前 |
次 |
この章では、Oracle Adapterアプリケーション・エクスプローラ(アプリケーション・エクスプローラ)を使用し、SAPシステムへの接続ターゲットを定義してシステム・オブジェクトを表示し、さらにXMLスキーマとWebサービスを作成する手順について説明します。また、イベント・アダプタの構成方法についても説明します。
この章の内容は以下のとおりです。
アプリケーション・エクスプローラを起動するには:
アプリケーション・エクスプローラがデプロイされているOracle WebLogic Serverが起動していることを確認します。
図4-1に示すように、Windowsの「スタート」メニューから「すべてのプログラム」、「Oracle Application Adapters」の順に選択し、「アプリケーション・エクスプローラ」をクリックします。
アプリケーション・エクスプローラが表示されます。
または、次のディレクトリにあるae.batファイルを実行してアプリケーション・エクスプローラを起動することもできます。
Oracle SOA Suite:
<ORACLE_HOME>
\soa\thirdparty\ApplicationAdapters\tools\iwae\bin\ae.bat
Oracle Service Bus (OSB):
<OSB_HOME>
\Oracle_OSB1\3rdparty\ApplicationAdapters\tools\iwae\bin\ae.bat
デスクトップ上にae.batファイルへのショートカットを作成することをお薦めします。
UNIXまたはLinuxプラットフォームを使用している場合は、iwae.shファイルを使用してアプリケーション・エクスプローラを起動できます。
アプリケーション・エクスプローラが起動します。これで、SAP R/3システムに対して新規ターゲットを定義できます。
注意: iwae.shファイルをUNIXまたはLinuxプラットフォームで実行する前に、次の例に示すように、権限を変更する必要があります。chmod +x iwae.sh |
リポジトリは、構成の詳細、アダプタのターゲット、チャネルに関する情報、およびその他の構成情報が格納されます。BSEおよびJ2CAリポジトリ設定の詳細は、『Oracle Fusion Middleware Oracle WebLogic Server Application Adaptersインストレーション・ガイド』(データベース・リポジトリの構成に関する項)を参照してください。
Oracle Application Adapter for SAP R/3でアプリケーション・エクスプローラを使用するには、その前に、リポジトリ構成を作成する必要があります。アダプタがデプロイされているコンテナに応じて、WebサービスまたはJ2CAという2種類のリポジトリ構成を作成することができます。
設計時には、アプリケーション・エクスプローラを使用したアダプタ接続の構成、EISオブジェクトの参照、サービスの構成、およびEISイベントをリスニングするリスナーの構成時に作成されたメタデータがこのリポジトリに格納されます。リポジトリ内の情報は、実行時にも参照されます。
WebサービスとBSEは、同じタイプのデプロイメントを参照します。詳細は、"「アダプタの機能」を参照してください。
アプリケーション・エクスプローラを使用してBSE用の構成を作成するには、最初に新規構成を定義する必要があります。
BSE用の新規構成の定義
アプリケーション・エクスプローラを起動します。
新規構成の名前(SampleConfigなど)を入力して、OKをクリックします。
図4-2に示すように、「サービス・プロバイダ」リストから、iBSEを選択します。
iBSE URLフィールドで、デフォルトのURLを受け入れるか、次の書式を使用して別のURLで置き換えます。
http://host name:port/ibse/IBSEServlet
ここで、host name
はOracle WebLogic Serverが常駐するシステムで、port
は管理されているOracle WebLogic Server用のHTTPポート番号です(「soa_server1」など)。
「OK」をクリックします。
図4-3に示すように、「構成」ルート・ノードの下に、新規構成を表すノードが表示されます。
アプリケーション・エクスプローラを使用してOracle Adapter J2CA用の構成を作成するには、先に新規構成を作成する必要があります。
J2CA用の新規構成の定義
J2CA用の新規構成を定義する手順は、次のとおりです。
アプリケーション・エクスプローラを起動します。
「新規構成」ダイアログが表示されます。
新規構成の名前(SampleConfigなど)を入力して、OKをクリックします。
図4-4に示すように、「サービス・プロバイダ」リストから、JCAを選択します。
「OK」をクリックします。
図4-5に示すように、「構成」ルート・ノードの下に、新規構成を表すノードが表示されます。
Oracle Adapter J2CA構成フォルダが次の場所に格納されます。
<ADAPTER_HOME>
\soa\thirdparty\ApplicationAdapters\config\configuration_name
ここで、configuration_name
は、作成した構成の名前です(「SampleConfig」など)。
HTTPリポジトリ接続
J2CAユーザーは、WSDLドキュメントのリモート生成および格納を可能にするHTTPリポジトリ接続を作成できます。アプリケーション・エクスプローラでHTTPリポジトリ接続を作成するには、次のステップを実行します:HTTPリポジトリを使用するには、iwjcaivpテスト・ツール(jca-app-adapter-test)が正常にデプロイされ、実行中であることを確認します。
アプリケーション・エクスプローラを起動します。
左ペインで構成ノードを右クリックし、「新規」を選択します。
新規構成ダイアログが表示されます。
構成の名前を入力し、「OK」をクリックします。
「サービス・プロバイダ」リスト・ボックスから、JCAを選択し、「ホーム」フィールドにHTTPターゲット値を入力します。
HTTPターゲット値には次のフォーマットを使用します。
http://host name:port/iwafjca/JCAServlet
例:
http://iwserv14:7777/iwafjca/JCAServlet
「OK」をクリックします。
新規のHTTPリポジトリ接続が構成ノードに追加されます。
リモート・サーバーに接続した後、新規のアダプタ・ターゲットの作成、WSDLドキュメントの生成、およびリモート・サーバーへのこれらの格納ができます。
注意: J2CA HTTPリポジトリを使用してアダプタ・ターゲットを構成するとき、Oracle WebLogic Serverをランタイムの目的で再起動する必要はありません。
新規構成に接続するには:
「接続」を選択します。
「アダプタ」、「イベント」および「ビジネス・サービス」(Webサービスとしても知られる)のノードが表示されます。「ビジネス・サービス」ノードは、BSE構成の場合にのみ表示されます。J2CA構成に接続している場合は、「ビジネス・サービス」ノードは表示されません。
BSE構成を使用してる場合は、「イベント」は表示されません。イベントはJ2CA構成を使用した場合にのみ構成できます。
図4-6に「SampleConfig」という名前のBSE構成の例を示します。
「アダプタ」フォルダを使用して、SAP R/3とのインバウンド相互作用を作成できます。たとえば、「アダプタ」フォルダ内の「SAP」ノードを使用してSAP R/3を更新するサービスを構成します。
「ビジネス・サービス」フォルダ(BSE構成の場合のみ)を使用して、「アダプタ」フォルダで作成されたWebサービスをテストします。「ビジネス・サービス」フォルダのセキュリティ機能を使用して、Webサービスのセキュリティ設定を制御することもできます。
これで、SAP R/3に対して新規ターゲットを定義できます。
アプリケーションの定義には、Oracle Application Adapter for SAP R/3用ターゲットの追加が含まれています。アプリケーション・エクスプローラでターゲットを設定するには、ターゲット固有の情報が必要です。
使用可能なビジネス関数を参照するには、SAP R/3へのターゲットを最初に定義する必要があります。ターゲットは、定義後に自動的に保存されます。アプリケーション・エクスプローラを起動するたびに、または切断した後は、SAP R/3システムに接続する必要があります。
アプリケーション・エクスプローラを起動すると、インストールされているアダプタに基づいて、アプリケーション・エクスプローラでサポートされているアプリケーション・システムが(ノードとして)左ペインに表示されます。
SAP R/3に初めて接続するには、新規ターゲットを定義する必要があります。Oracle Application Adapter for SAP R/3は、SAP R/3標準セキュリティおよびSNCの追加プロトコルをサポートします。SAP R/3アプリケーション・サーバーに接続すると、アプリケーション・セキュリティはユーザーID、ロール、およびプロファイルによって管理されます。SAPアプリケーション・セキュリティの詳細は、該当するSAPドキュメントを参照してください。
J2CA構成を取り扱うときには、ターゲットの作成、更新、および削除にはアプリケーション・サーバーの再起動が必要となります。アプリケーション・サーバーは、ターゲットの作成後、ターゲットへの接続後、およびSAP R/3ビジネス・オブジェクト用のWSDLの生成後にも再起動する必要があります。また、必ずアプリケーション・エクスプローラを閉じてからアプリケーション・サーバーを再起動してください。
図4-7に示すように、左ペインで「アダプタ」ノードを展開します。
インストールされているアダプタに基づいて、アプリケーション・エクスプローラでサポートされているアプリケーション・システムがノードとして表示されます。
図4-8に示すように、「MySAP」ノードを右クリックし、「ターゲットの追加」を選択します。
「ターゲットの追加」ダイアログが表示されます。次の情報を入力します。
「タイプ」リストから、接続先のターゲットのタイプを選択します。サポートされるターゲットのタイプには、「メッセージ・サーバー」または「アプリケーション・サーバー」(デフォルト)があります。
注意: ロード・バランシング目的で、通常、1つのSAP R/3システムからのアプリケーション・サーバーはログオン・グループに構成されます。この場合、各グループが特定のユーザーに対応します。各グループ内のアプリケーション・サーバーは、負荷の最も少ない順にユーザーに割り当てられます。このロード・バランシングはメッセージ・サーバーにより実行されます。各SAP R/3システムにはメッセージ・サーバーが1つずつ存在し、特定のメッセージ・サーバー・ポートでTCPによりアクセスできます。 |
「OK」をクリックします。
図4-9に示すように、「アプリケーション・サーバー」ダイアログが表示されます。
「ユーザー」(必須)
「システム」(必須)
詳細
セキュリティ
「ユーザー」タブ(必須)には、次の表の情報に従って、使用するSAP R/3ターゲットに適した情報を入力します。
表4-1 「ユーザー」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
「クライアント」 |
クライアント通信用にSAP R/3アプリケーションに定義されたクライアント数 |
「ユーザー」 |
SAP R/3アプリケーション用の有効なユーザーID |
「パスワード」 |
SAP R/3アプリケーション用の有効なパスワード |
「言語」 |
言語キー。EN(英語)がデフォルトです。 |
「コードページ」 |
キャラクタ・コード・ページの値 |
「認証モード」 |
SAP R/3システムに接続するときに使用したい認証モード。デフォルトでは、ドロップダウン・リストから「パスワード」が選択されています。 |
詳細は、SAP R/3システムのドキュメントを参照してください。
図4-10に示すように、「システム」タブ(必須)には、この項の説明に従って、使用するSAP R/3ターゲットに適した情報を入力します。
「システム」タブを使用すると、接続しているSAP R/3システムのアプリケーション・サーバー名、システム番号、および接続プーリング情報を入力することができます。
表4-2 「システム」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
「アプリケーション・サーバー」 |
|
「システム番号」 |
クライアント通信用にSAP R/3に対して定義されているシステム番号 |
接続プール・サイズ |
Webサービス・コールでSAP R/3に対して使用可能にするプール内のクライアント接続の数。デフォルトでは、デフォルト接続プール・サイズ2が利用可能です。 重要: デフォルト値1では、接続プールは作成されません。かわりに順次処理によってSAP R/3の単一接続が共有されます。プールされた接続では、並列処理によってSAP R/3への複数の接続が起動されます。 アプリケーション・エクスプローラを使用してWebサービスを作成する場合、接続プール・サイズの値は、実行時にWebサービスで使用されます。このため、接続プール・サイズが目的に対して十分であることを確認してください。 |
「接続タイムアウト」(分) |
接続プールのタイムアウト値(分)。デフォルト値は10分です。 |
「接続待機時間」(秒) |
接続プールのための待機時間(秒)。デフォルト値は30秒です。 ERPサーバーに接続するには、クライアントとリモート・サーバーの両方で貴重なリソースを消費します。接続プールを作成することで、リソースと時間の制約を最小限に抑えることができます。プールのサイズを推定する際には、消費されるサーバー・リソースの量、受信するドキュメントの数とサイズ、およびJava仮想マシンのサイズに基づいてプール・サイズを計算することができます。SAPドキュメントの「メモリー管理(BC-CST-MM)」の項では、SAP R/3システムで必要なリソースについて詳しく説明しています。 |
「詳細」タブ(オプション)には、この項の説明に従って、使用するSAP R/3ターゲットに適した情報を入力します。
図4-11に示すように、「詳細」タブにより、EDIとIDocバージョンの指定、およびエラー処理の構成が可能になります。
表4-3 「詳細」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
「Ediバージョン」 |
アダプタで使用するEDI (Electronic Data Interchange)ドキュメントのバージョン。バージョン3がデフォルト値です。 |
IDOCリリース |
接続に使用したいIDOCのバージョニング |
IDOCリリース・プロバイダ |
接続のためのIDOCリリース・プロバイダ。ドロップダウン・リストから、IDOC DOCRELフィールド(デフォルト)、SAPリリース、または「ユーザー入力」を選択します。 |
エラー処理 |
例外の発生時に、リストから「エラー文書が作成されます」または「例外がスローされます」を選択できます。詳細なエラー・メッセージを受け取るには、「エラー文書が作成されます」を選択します。 一般的な例を次に示します。
XMLドキュメントの読み取りおよびエラーの把握は、アプリケーション側の役割です。 |
「待機中コミット」 |
アプリケーションで高精度を必要とする場合は、「待機中コミット」オプションを選択します。 アダプタは、関数コールから戻る前に、すべてのレコードがデータベースに物理的に書き込まれるまで待機します。「待機中コミット」は、アダプタのパフォーマンスに影響するため、十分に検討してから選択してください。 データを変更するすべてのSAPビジネス・オブジェクトが、作業をデータベースにコミットする必要があります。R/3システムのバージョン3.1で開発された一部のBAPIは、内部コミット動作を使用するため、アダプタでコミット動作を変更することはできません。このBAPIがコールされると、実行した作業がただちにコミットされます。 リリース3.1以降に開発されたBAPIは、外部コミット手法を使用します。アダプタがコミット・コマンドを発行し、そのコミットはデータベース・キューに置かれます。コミットの最初のパートでアプリケーション・エラーが発生した場合、エラー・メッセージ「転記を実行できませんでした」が返され、アダプタはトランザクションをロールバックします。データベースへの書き込みでデータベース・エラーが発生した場合、SAPのデータベース・レコードで短いダンプが発行されますが、失敗についてのメッセージはアダプタに返されません。 このオプションは、デフォルトでは無効です。 |
「SAPトレース」 |
このオプションを選択してSAPトレースを有効にします。 SAPトレースは、デザインタイムおよびランタイムの間、以下の場所に格納されています。 デザインタイム:
ランタイム:
SAPトレースに使用するファイル名のフォーマットは、以下のとおりです(デザインタイムおよびランタイム)。
|
トレース・レベル |
SAPトレースの詳細レベルを示します。リストから値(0~10の範囲)を選択します。 |
図4-12に示すように、「セキュリティ」タブ(オプション)では、この項の説明に従って、SAP R/3ターゲットに適した情報を入力します。
セキュリティタブにより、接続しているSAP R/3システムのSNC (Secure Network Communication)情報を指定することができます。
表4-3 「セキュリティ」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
「SNCモード」 |
デフォルトでは、SNCは無効です。SNCを有効にするには、リストから「1」を選択します。 |
「SNCパートナ」 |
SNCサービスを提供するRFCサーバーまたはメッセージ・サーバー(ロード・バランシング)の名前を入力します。 |
「SNCレベル」 |
リストからSNCライブラリのバージョンを選択します。 |
SNC名 |
使用しているSNCライブラリの名前を入力します。 |
「SNCライブラリ・パス」 |
SNCは、SAP R/3システムの分散コンポーネント間の通信リンクに対する保護を提供します。SAP R/3は、SNCを使用して、GSS-APIバージョン2規格に準拠する製品をサポートすることができます。SNCは、アプリケーション・レベル(端末間セキュリティ)、スマートカード認証、およびシングル・サインオンをサポートしています。
SAP Enterprise Portalを使用している場合、J2EEエンジンによりSAPログオン・チケットが自動的に生成されます。SNCの使用例としては、SAP Enterprise PortalからOracle Application Adapter for SAP R/3への接続が考えられます。
SAPログオン・チケットを使用して、SAP以外のコンポーネントへのシングル・サインオンを有効化する場合は、接続可能な認証サービスについてSAPのドキュメントを調べてください。この場合のSNCの使用例としては、SAP以外のポータルからOracle Application Adapter for SAP R/3です。
ターゲットについて必要なすべての情報を入力したら、「OK」をクリックします。
図4-13に示すように、抽出が終了すると、「MySAP」アダプタ・ノードの下に新しいターゲットMySAPターゲットが表示されます。
これで、SAP R/3ターゲットに接続できます。
アダプタのスキーマの作成方法は、「XMLスキーマの作成」を参照してください。
左ペインで、 「アダプタ」 ノードを展開します。
「MySAP」ノードを展開します。
「MySAP」ノードの下のターゲット名(「SAPTarget」など)をクリックします。
接続パラメータを確認します。
ターゲット名を右クリックして「接続」を選択します。
図4-14に示すように、「x」アイコンが消え、ノードが接続されたことが示されます。
現在使用されていない接続を切断します。
様々なトランザクション処理システムに対して開かれた複数の接続を維持管理できますが、使用していない接続を切断することをお薦めします。
ターゲットを編集します。
システムのプロパティが変化したときに接続パラメータを修正することができます。切断した後、既存のターゲットを修正できます。
不要になった接続を削除します。
SAP R/3への接続の切断
ターゲットを切断する手順は、次のとおりです。
「アダプタ」ノードを展開します。
「MySAP」ノードを展開します。
図74-15に示すように、接続中のターゲット(「SAPTarget」など)を右クリックして「切断」を選択します。
SAP R/3ターゲットを切断すると、SAP R/3との接続が切り離されますが、ノードは残ります。図4-16に示すように、「x」アイコンが表示され、ノードが切断されていることを示します。
接続パラメータの変更
アプリケーション・エクスプローラを使用してSAP R/3のターゲットを作成した後、以前に入力したいずれの情報も編集できます。
編集するターゲットの接続が切断されていることを確認します。
図4-17に示すように、ターゲットを右クリックして「編集」を選択します。
「アプリケーション・サーバー」ダイアログにターゲットの接続情報が表示されます。
必要に応じて、ダイアログでプロパティを変更し、「OK」をクリックします。
SAP R/3への接続の削除
接続を切断して閉じるかわりに削除できます。接続を削除すると、アプリケーション・エクスプローラの左ペインでSAP R/3接続のリストからそのノードが消えます。
接続を削除する場合、ランタイムの目的でOracle WebLogic Serverを再起動して、リポジトリを更新する必要があります。
SAP R/3への接続を削除する手順は、次のとおりです。
削除するターゲットを見つけます。
図4-18に示すように、ターゲット(「SAPTarget」など)を右クリックして「削除」を選択します。
使用可能な接続のリストからそのノードが消えます。
SAP R/3に接続すると、アプリケーション・エクスプローラを使用して、既存のビジネス・プロセスをサポートするために使用されるSAP R/3ビジネス・オブジェクトを検索して参照することができます。
注意: インストールされているリリースまたはサービス・パックによっては、使用しているSAP R/3システムに特定のRFC (RFC_CUSTOMER_GETなど)が存在しない可能性があります。このため、このドキュメントに記載された例が使用中のシステムに該当しない場合があります。このような場合、アダプタ機能の一般的な参照として例を使用し、使用中のSAP R/3アプリケーション環境内に存在するRFCを選択してください。SAPリリース・ノート109533に記載されているように、SAP関数モジュール(RFC)は、別のリリース・ステータスで配布される可能性があります。SAPでは、「Released for Customer」ステータスのRFCのみをサポートします。インタフェースのリリースからの独立性とモジュールの存在および機能の継続性に関する報告はありません。特定の関数モジュールのステータスの詳細は、SAP Service Marketplaceに問い合せてください。 |
SAP R/3ビジネス関数ライブラリを参照してオブジェクトを選択した後、アプリケーション・エクスプローラを使用して、その関数のXMLリクエスト・スキーマとXMLレスポンス・スキーマを作成できます。
SAP R/3ビジネス関数のリクエストおよびレスポンス・スキーマを作成する手順は、次のとおりです。
「定義済のSAPターゲットへの接続」に説明されている方法でSAPターゲットに接続します。
「ビジネス・オブジェクト・リポジトリ」ノードを展開します。
財務会計ノードの左にあるアイコンをクリックします。
下へスクロールし、「CompanyCode」ビジネス・オブジェクトの左のアイコンをクリックします。
5.下へスクロールし、GetDetail
という名前のBAPIを選択します。
図4-19に示すように、右側に「XMLスキーマ」タブが表示されます。
各スキーマ・タイプのXMLを表示するには、該当するタブをクリックします。
サービスのWeb Service Definition Language (WSDL)記述により、ホスト・サーバー内の他のサービスでサービスが使用できるようになります。アプリケーション・エクスプローラを使用して、アダプタのJ2CAサービスのリクエスト/レスポンス(アウトバウンド)とイベント通知(インバウンド)の両方を作成できます。
注意: インバウンドJCAサービスの作成(イベント)オプションは、選択されたノードでイベントがサポートされている場合にのみ使用できます。 |
リクエスト/レスポンス型サービス用のWSDLファイルを生成するには:
スキーマの作成後、各オブジェクトを右クリックします。
図4-20に示すように、「GetList」メニューが表示されます。
アウトバウンドJCAサービスの作成(リクエスト/レスポンス)を選択します。
図4-21に示すように、「WSDLのエクスポート」ダイアログが表示されます。
ファイルのデフォルト名を受け入れます。
.wsdlファイル拡張子が自動的に追加されます。デフォルトでは、リクエスト/レスポンス型のサービス用に生成されたWSDLファイルの名前の末尾には「_invoke」
が付き、イベント通知用に生成されたものには「_receive」
が付きます。
「OK」をクリックします。
イベント通知用のWSDLの生成手順はリクエスト/レスポンス用と類似しています。イベント通知用のWSDLを生成するには、先に各イベントのチャネルを作成する必要があります。詳細は、「イベント統合のためのWSDLの生成」を参照してください。
アプリケーション・エクスプローラを使用して、ビジネス関数リポジトリを検索し、アダプタで使用するSAP R/3関数のためのWebサービス(ビジネス・サービスとも呼ばれます)を生成できます。次の手順では、例としてBAPI_MATERIAL_GETLIST
というSAP R/3 BAPIメソッドを使用し、SAP R/3から資材リストを戻します。
注意: アダプタのJ2EE Connector Architecture (J2CA)実装では、Webサービスは使用できません。Oracle Adapter J2CAを使用するようにアダプタがデプロイされている場合、Common Client Interfaceにより、アダプタを使用する統合サービスが提供されます。 |
Webサービスの作成
SAP R/3ビジネス関数のためのWebサービスを作成する手順は、次のとおりです。
SAP R/3ターゲットに接続し、「ビジネス・オブジェクト・リポジトリ」ノードを開きます。
「ビジネス・オブジェクト・リポジトリ」からBAPI_MATERIAL_GETLIST
メソッドを選択します。
ビジネス・サービスの作成元となるノードを右クリックし、「Webサービスの作成」を選択します。
「Webサービスの作成」ダイアログが表示されます。図4-22に示すように、ビジネス関数を新規または既存のWebサービスのメソッドとして追加できます。
次のステップを実行します:
「次へ」をクリックします。
ライセンスおよびメソッド」ダイアログが表示されます。
次の情報を入力します。
「ライセンス名」フィールドで、Webサービスに割り当てるライセンス・コードを1つ以上選択します。複数のライセンス・コードを選択するには、[Ctrl]キーを押しながらライセンスをクリックします。
「メソッド名」フィールドにメソッドのわかりやすい名前を入力します。
「メソッドの説明」フィールドで、メソッドに関する簡単な説明を入力します。
「DTDディレクトリ」フィールドに使用するDTDの場所を指定します。
「OK」をクリックします。
アプリケーション・エクスプローラで、「ビジネス・サービス」ノードに表示が切り替わり、新規のWebサービスが左ペインに表示されます。
Webサービスのテスト
Webサービスを作成した後は、テストを行い、適切に機能することを確認できます。Webサービスのテスト用のテスト・ツールは装備されています。
Webサービスをテストする手順は、次のとおりです。
「ビジネス・サービス」ノードをクリックして、Webサービスにアクセスします。
「サービス」ノードを展開します。
テストするビジネス・サービスの名前を選択します。
ビジネス・サービスの名前は、右ペインにリンクとして表示されます。
右ペインで、指定するビジネス・サービスのリンクをクリックします。
テスト・オプションが別のBSEサーブレットページに表示されます。XML入力を必要とするWebサービスをテストする場合は、入力フィールドが表示されます。
適切な入力項目を入力します。
「起動」をクリックします。
BSEサーブレットページに結果が表示されますl。
伝播の識別
サード・パーティのXMLエディタを使用してWebサービスをテストまたは実行する場合は、SOAPヘッダーで指定するユーザー名およびパスワードの値が有効で、SAP R/3への接続に使用される値と同じである必要があります。アプリケーション・エクスプローラを使用したターゲットの作成中にSAP R/3用に指定したユーザー名およびパスワードは、このWebサービスのリクエスト用の値上書きされます。次は、Webサービス用のWSDLファイルに含まれるサンプルのSOAPヘッダーです。
<SOAP-ENV:Header> <m:ibsinfo xmlns:m="urn:schemas-iwaysoftware-com:iwse"> <m:service>String</m:service> <m:method>String</m:method> <m:license>String</m:license> <m:disposition>String</m:disposition> <m:Username>String</m:Username> <m:Password>String</m:Password> <m:language>String</m:language> </m:ibsinfo> </SOAP-ENV:Header>
<m:disposition>
および <m:language>
タグは必要でないため、SOAPヘッダーから削除できます。
Oracle ERP AdapterのWSDL定義の制限
この項では、Oracle ERP Adapterで生成されるWSDL定義の一定の制限について説明し、必要ならばその回避策を提供します。
修飾/非修飾のオプション
修飾および非修飾のオプションは、WSDL定義を生成するときにOracle ERP Adapterによって強制実行されません。例を以下に示します。
修飾オプションを指定してWSDLをエクスポートします。
このWSDLに基づいてWebサービスを作成します。
非修飾の要素を含んだXMLデータをこのWebサービスに送信します。
正しいレスポンス・ドキュメントが受信されます。
ネームスペース
生成済みのWSDL定義で定義されたネームスペースは、Oracle ERP Adapterによって強制実行されません。例を以下に示します。
生成済みのWSDLに基づいてWebサービスを作成します。
すべてのネームスペースを取り除いたXMLデータをこのWebサービスに送信します。
正しいレスポンス・ドキュメントが受信されます。
未チェックデータ
Oracle ERP Adapterは、XMLデータが生成済みのWSDL定義に従っているかどうかを検証しません。以下の例では、デモ目的のためにのみSAP R/3を使用しています。
RFC_SYSTEM_INFO関数モジュールのWebサービスを作成します。
BAPI_COMPANYCODE_GETLISTに関連するXMLデータを用いてWebサービス(RFC_SYSTEM_INFO)を呼び出します。
BAPI_COMPANYCODE_GETLISTのデータとともにレスポンス・ドキュメントが受信されます。
Oracle ERP Adapterを使用するアプリケーションを設計するときには、この動作を考慮に入れる必要があります。最善策として、Webサービスを呼び出す前にWSDL定義に従って受信されるXMLデータを常に検証する必要があります。そうでなければ、1つの関数だけを呼び出した場合に、すべての関数がシステム(SAP R/3など)上で公開される可能性があります。この例では、RFC_SYSTEM_INFO関数モジュールだけを呼び出していますが、エンドユーザーは、この関数を使用してSAP R/3上の任意の関数を呼び出すこともできました。所定の関数についてOracle ERP Adapterが認識した有効なXMLドキュメントだけが必要です。
イベントは、データベースまたはアプリケーション・システムでのアクティビティによって生成されます。イベントを使用して、アプリケーション内でアクションをトリガーできます。たとえば、データベースの更新によって、顧客情報の更新を反映することができます。この時点でアプリケーションが動作する必要のある場合、アプリケーションはこのイベントのコンシューマです。アプリケーション・システムへの接続を作成した後、アプリケーション・エクスプローラを使用してイベントを追加できます。イベントを作成するには、チャネルを作成する必要があります。
注意: J2CA構成を使用している場合、各イベント・オブジェクトに対して新規チャネルを作成し、インバウンド・サービスの作成時にこのチャネルを選択する必要があります。チャネルの作成は、J2CA構成でのみ必要となります。また、各チャネルは、SAP R/3の一意のプログラムIDと対応付ける必要があります。たとえば、MATMASとDEBMASを取り扱う場合、各オブジェクトごとに2つの個別のチャネルが必要となり、2つの一意のSAP R/3プログラムIDが必要となります。 |
チャネルは、バックエンド・システムの特定のインスタンスへの構成済の接続を表します。詳細は、「チャネルの作成および編集」を参照してください。
次の手順では、イベントのチャネルを作成する方法について説明します。すべての定義済イベント・ポートはチャネルと関連付けられる必要があります。
チャネルを作成、変更または削除する場合、ランタイムの目的でOracle WebLogic Serverを再起動して、変更を適用し、リポジトリを更新する必要があります。
注意: チャネルは、Oracle Application Adapter for SAP R/3がインストールされているシステムでのみ構成および起動できます。リモート・ホストでのチャネルの構成および起動はサポートされていません。 |
BSE構成を使用してる場合は、「イベント」は表示されません。イベントはJ2CA構成を使用した場合にのみ構成できます。
チャネルの作成および更新には、アプリケーション・サーバーの再起動が必要となります。アプリケーション・サーバーは、チャネルの作成後およびインバウンドWSDLの生成後にも再起動する必要があります。また、必ずアプリケーション・エクスプローラを閉じてからアプリケーション・サーバーを再起動してください。
チャネルの作成
チャネルを作成するには:
図4-23に示すように、「イベント」ノードをクリックします。
「MySAP」ノードを展開します。
「チャネル」を右クリックし、「チャネルの追加」を選択します。
図4-24に示すように、「チャネルの追加」ダイアログが表示されます。
次のステップを実行します:
「TEST_CHANNEL」など、チャネルの名前を入力します。
簡単な説明を入力します。
「プロトコル」リストから、「Application Server - mySAP」または「Message Server - mySAP」を選択します。
「次へ」をクリックします。
「メッセージ・サーバー」ダイアログが表示されます。次のタブが利用可能です。
「ユーザー」(必須)
「システム」(必須)
セキュリティ
詳細
「システム」タブでは、以下の表の情報に基づいてSAP R/3チャネルに適切な情報を入力します。
表4-6 「システム」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
「ゲートウェイ・ホスト」 |
SAP R/3ゲートウェイのホスト名 |
「ゲートウェイ・サービス」 |
SAP R/3ゲートウェイのサービス |
「サーバーのプログラムID」 |
このチャネルで使用したいSAP R/3のプログラムID |
「アプリケーション・サーバー」 |
アプリケーション・サーバーのホスト名 |
「システム番号」 |
クライアント通信用にSAP R/3に対して定義されているシステム番号 |
接続プール・サイズ |
Webサービス・コールでSAP R/3に対して使用可能にするプール内のクライアント接続の数。デフォルトでは、デフォルト接続プール・サイズ2が利用可能です。 重要: デフォルト値1では、接続プールは作成されません。かわりに順次処理によってSAP R/3の単一接続が共有されます。プールされた接続では、並列処理によってSAP R/3への複数の接続が起動されます。 アプリケーション・エクスプローラを使用してWebサービスを作成する場合、接続プール・サイズの値は、実行時にWebサービスで使用されます。このため、接続プール・サイズが目的に対して十分であることを確認してください。 |
「接続タイムアウト」(分) |
接続プールのタイムアウト値(分)。デフォルト値は10分です。 |
「接続待機時間」(秒) |
接続プールのための待機時間(秒)。デフォルト値は30秒です。 ERPサーバーに接続するには、クライアントとリモート・サーバーの両方で貴重なリソースを消費します。接続プールを作成することで、リソースと時間の制約を最小限に抑えることができます。プールのサイズを推定する際には、消費されるサーバー・リソースの量、受信するドキュメントの数とサイズ、およびJava仮想マシンのサイズに基づいてプール・サイズを計算することができます。SAPドキュメントの「メモリー管理(BC-CST-MM)」の項では、SAP R/3システムで必要なリソースについて詳しく説明しています。 |
「詳細」タブ(任意)では、以下の表の情報に基づいてSAP R/3チャネルに適切な情報を入力します。
表4-8 「詳細」タブのパラメータ
ターゲット・パラメータ | 説明 |
---|---|
IDOCフォーマット |
リストからIDOCタイプを選択します。
|
IDOCリリース |
接続に使用したいIDOCのバージョニング |
IDOCリリース・プロバイダ |
接続のためのIDOCリリース・プロバイダ。ドロップダウン・リストから、IDOC DOCRELフィールド(デフォルト)、SAPリリース、または「ユーザー入力」を選択します。 |
IDOC(フラット)エンコーディング |
IDOC処理のためのエンコーディングのタイプ |
「SAPトレース」 |
このオプションを選択してSAPトレースを有効にします。 SAPトレースは、デザインタイムおよびランタイムの間、以下の場所に格納されています。 デザインタイム:
ランタイム:
SAPトレースに使用するファイル名のフォーマットは、以下のとおりです(デザインタイムおよびランタイム)。
|
トレース・レベル |
SAPトレースの詳細レベルを示します。リストから値(0~10の範囲)を選択します。 |
「スレッド数」 |
開いたスレッドの数。デフォルトでは3つのスレッドが指定されています。 |
処理モード |
リストから同期処理のタイプを選択します。可能な値として、「REQUEST」と「REQUEST_RESPONSE」があります。 |
「OK」をクリックします。
図4-25に示すように、左ペインの「チャネル」ノードの下にチャネルが表示されます。
アイコン上の「X」 は、そのチャネルが現在切断されていることを示します。イベント構成をアクティブ化するにはチャネルを再起動する必要があります。
注意: Oracle Application Adapter for SAP R/3をBPELインバウンドまたはメディエータ・インバウンド・プロセス・コンポーネントと統合する予定の場合は、チャネルを起動しないでください。チャネルは、BPELまたはメディエータ・インバウンド・プロセス・コンポーネントがデプロイされた後、ランタイム・サーバーによって管理されます。テストまたはデバッグ目的でチャネルをアプリケーション・エクスプローラから起動する場合は、ランタイム前に停止してください(BPELまたはメディエータ・インバウンド・プロセス・コンポーネントとの連携する場合)。 |
図4-26に示すように、作成したチャネルがアクティブになります。
アイコン上の「X」が消えます。
チャネルを停止するには、接続されているチャネル・ノードを右クリックし、「停止」を選択します。
チャネルが非アクティブになり、アイコン上に「X」が表示されます。
チャネルの編集
左ペインで、編集するチャネルを見つけます。
チャネルを右クリックし、「編集」を選択します。
チャネルの編集ペインが表示されます。
チャネルを編集する場合、ランタイムの目的でOracle WebLogic Serverを再起動して、変更を適用し、リポジトリを更新する必要があります。
チャネルの削除
Oracle Application Adapter for SAP R/3 with BPEL 11.1.1では、インバウンド処理(イベント)のルート検証、ネームスペース検証およびスキーマ検証がサポートされています。
Oracle Application Adapter for SAP R/3を使用してインバウンド処理を検証するには、次のステップを実行します:この手順では、インバウンド処理の例としてMATMAS (Material Master)を使用しています。
アプリケーション・エクスプローラを起動します。
MySAPターゲットに接続します。
「IDOCs」ノードを展開します。
MySAPアダプタ用にチャネルが作成されていることを確認します。
「MATMAS – Material Master」ノードを選択して展開します。
「MATMAS01」を右クリックし、インバウンドJCAサービスの作成(イベント)を選択します。
図2-30に示すように、「WSDLのエクスポート」ダイアログが開き、「ルート」、「ネームスペース」および「スキーマ」の3つの検証オプションのチェック・ボックスが表示されます。
複数の検証オプションを選択できます。
- 「ルート」検証は、インバウンドXMLドキュメント内のルート要素の検証に使用します。
- 「ネームスペース」検証は、インバウンドXMLドキュメント内のネームスペースの検証に使用します。
- 「スキーマ」検証は、WSDLドキュメント内のスキーマを使用したインバウンドXMLドキュメントの検証に使用します。
実行時には、検証は選択された検証オプションに基づいて処理されます。
複数の検証オプションが選択されている場合、実行時に最初の検証が失敗すると、残りの検証オプションは処理されません。
ルート検証およびネームスペース検証は、適度な検証レベルであるとみなされ、スキーマ検証はより厳しい検証レベルとみなされます。
ルート要素およびネームスペースがSAP環境のIDOC間で異ならないかぎり、ルート検証とネームスペース検証オプションを使用することをお薦めします。
WSDLドキュメントを生成し、BPELプロセスを作成します。
SAPのGUI環境からトランザクション(IDOC)をトリガーします。
検証が失敗したインバウンド・トランザクションは、SAPトランザクション監視(SM58)に示されます。
ステータス・テキストのフィールドに、検証プロセスが失敗したドキュメントの「java.lang.exception」が示されます。