次の方法で共有


手順 1: Oracle E-Business Adapter を使用して WCF サービスを作成して発行する

手順 1/4

完了までの時間: 15 分

目的: WCF LOB アダプター サービス開発ウィザードを使用すると、インターネット インフォメーション サービス (IIS) や Windows プロセス アクティブ化サービス (WAS) などのホスティング環境でホストできる ORACLE E-Business Suite 成果物から WCF サービスを生成できます。 このトピックでは、ウィザードを使用して WCF サービス ファイルを生成する方法について説明します。

前提条件

ウィザードを実行する前に、次のコマンドをインストールします。

  • Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK の場合は、[ 完了 ] オプションまたは [カスタム ] オプション (このオプション内の [ツール ] を選択)。 これにより、アダプター サービス開発ウィザード用の Visual Studio テンプレートがインストールされます。

  • BizTalk アダプター パックの Microsoft BizTalk Adapter for Oracle E-Business Suite。

    これらの前提条件の詳細については、「BizTalk アダプター パックのインストール ガイド」を参照してください。 インストール ガイドは通常、インストール ドライブ>:\Program Files\Microsoft BizTalk Adapter Pack\Documents に<インストールされます。

Note

また、Microsoft Office SharePoint Server サンプルに付属の create_apps_artifacts.sql スクリプトを実行して、アプリケーション オブジェクト ライブラリ アプリケーションにMS_SAMPLE_EMPLOYEE インターフェイス テーブルを作成する必要があります。 このチュートリアルでは、このインターフェイス テーブルを使用します。

Oracle E-Business Artifact での操作用の WCF サービスを作成する

このセクションでは、MS_SAMPLE EMPLOYEE インターフェイス テーブルで Select 操作用の WCF サービスを作成する手順について説明します。

MS_SAMPLE EMPLOYEE インターフェイス テーブルで選択操作用の WCF サービスを作成するには

  1. Visual Studio を起動し、プロジェクトを作成します。

  2. [ 新しいプロジェクト ] ダイアログ ボックスの [ プロジェクトの種類 ] ウィンドウで、[ Visual C#] を選択します。 [テンプレート] ウィンドウ 、[ WCF アダプター サービス] を選択します。

    または、[ プロジェクトの種類 ] ウィンドウで [ Visual C#] を展開し、[ Web] を選択します。 [テンプレート] ウィンドウ 、[ WCF アダプター サービス] を選択します。

    [新しいプロジェクト] ダイアログ ボックス

    Note

    Web 開発コンポーネントと共にVisual Studio 2013をインストールした場合は、[新しい Web サイト] オプション ([ファイル>] [新しい>Web サイト] ) からも WCF アダプター サービス テンプレートを使用できます。

    ただし、Oracle E-Business アダプターは、ファイル システム上に作成された Web サイトのみをサポートします。 そのため、[新しい Web サイト] ダイアログ ボックスで Web サイトを作成するときに、[場所] ボックスの一覧で [ファイル システム] をクリックする必要があります。

  3. ソリューションの名前と場所を指定し、[OK] をクリック します。 WCF アダプター サービス開発ウィザードが起動します。

  4. [ようこそ] ページで [次へ] をクリックします。

  5. [操作の選択] ページで、Oracle E-Business Suite に接続する接続文字列を指定します。 そのためには次を行います。

    1. [ バインドの選択 ] ボックスの一覧で [ oracleEBSBinding] をクリックし、[ 構成] をクリックします。

    2. [ アダプターの構成 ] ダイアログ ボックスで、[ バインドのプロパティ ] タブをクリックします。

      1. [ 全般 ] カテゴリの [ClientCredentialType ] バインディング プロパティで、[ EBusiness] を選択します。

      2. OracleEBS カテゴリで、OracleUserNameOraclePasswordOracleEBSResponsibilityName バインド プロパティに適切な値を指定します。 この場合は、 OracleUserName および OraclePassword バインド プロパティのデータベース資格情報を指定する必要があります。

      3. [ メタデータ ] カテゴリの [EnableSafeTyping バインド] プロパティで、[ True] を選択します。 日付列の値を取得する場合は、メタデータの生成時に EnableSafeTyping バインド プロパティを True に設定することをお勧めします。

    3. [ URI のプロパティ ] タブをクリックし、接続パラメーターの値を指定します。 Oracle E-Business アダプターの接続 URI の詳細については、「 Oracle E-Business Suite 接続 URI を作成する」を参照してください。

    4. [ セキュリティ ] タブをクリックし、[ クライアント資格情報の種類 ] の一覧で [ ユーザー名] を選択します。 Oracle E-Business Suite に接続するための有効な Oracle E-Business Suite ユーザー名とパスワードを指定します。

    5. [ OK] をクリックして [アダプターの構成] ダイアログ ボックスを閉じ、[ 接続] をクリックします。 Visual Studio が Oracle E-Business Suite との接続を正常に確立すると、接続状態が [接続済み] と表示されます。 Oracle E-Business Suite メタデータが [操作の選択] ページに表示されるのも確認できます。

  6. [操作の選択] ページの [ コントラクトの種類の選択 ] の一覧で、[ クライアント (送信操作)] をクリックします。

  7. [ カテゴリの選択 ] ボックスで、アプリケーション オブジェクト ライブラリ アプリケーションのMS_SAMPLE_EMPLOYEE インターフェイス テーブルを参照します。 アダプターで成果物を参照する方法については、「 Oracle E-Business Operations のメタデータの参照、検索、および取得」を参照してください。

  8. [ 利用可能なカテゴリと操作 ] ボックスで、[ 選択 ] 操作を選択し、[ 追加] をクリックします。 [選択] 操作が [ 追加されたカテゴリと操作 ] ボックスに追加されます。

    Select Operation 02_MSB_GUIの追加

    Note

    成果物ごとに複数の操作を追加できます。 また、さまざまな Oracle E-Business Suite 成果物に対する操作を追加することもできます。 たとえば、インターフェイス テーブルに対して 1 つの操作を追加し、同時実行プログラムに対してもう 1 つの操作を追加できます。 さらに、検索式でワイルドカード文字を指定することで、特定の操作を検索できます。 サポートされている特殊文字と、操作を検索できるノード レベルの詳細については、「 Oracle E-Business Suite 操作の検索」を参照してください。

  9. [操作の選択] ページで、[ 次へ] をクリックします。

  10. [サービスとエンドポイントの動作の構成] ページで、サービスとエンドポイントの動作を構成する値を指定します。

    1. [ サービス動作の構成 ] ボックスで、次の値を指定します。

      プロパティの場合 値を指定する
      EnableMetadataExchange メタデータ交換エンドポイントを作成するには、これを True に 設定します。 これを True に設定すると、WS-Metadata Exchange (MEX) や HTTP/GET 要求などの標準化されたプロトコルを使用してサービス メタデータを使用できるようになります。 既定値は False です。
      IncludeExceptionDetailsinFault デバッグ目的でクライアントに返される SOAP エラーの詳細にマネージド例外情報を含めるには、これを True に 設定します。 既定値は False です。
      名前 サービス動作構成の名前。 このチュートリアルでは、「 customServiceBehavior」と入力します。
      UseServiceCertificate WCF のメッセージ レベル セキュリティ モードを使用するかどうかを指定します。 既定値は True です。 このチュートリアルでは、これを False に設定する必要があります。

      Note

      このチュートリアルではサービス証明書を使用していないため、FindValueStoreLocation、StoreNameX509FindType プロパティの値を指定する必要はありません。 証明書と関連するプロパティの詳細については、 の「X509ClientCertificateCredentialsElement プロパティ」 https://go.microsoft.com/fwlink/?LinkId=103771を参照してください。

    2. [ エンドポイント動作の構成 ] ボックスで、次の値を指定します。

      プロパティの場合 値を指定する
      認証の種類 Microsoft Office SharePoint Server で WCF サービスを使用するには、これを HTTPUserNamePassword に設定する必要があります。 これにより、クライアントは HTTP ヘッダーの一部としてユーザー名とパスワードを指定できます。
      名前 エンドポイント動作構成の名前を指定します。 このチュートリアルでは、「 customEndpointBehavior」と入力します。
      UsernameHeader ユーザー名ヘッダーの名前。 この例では、 MyUserHeader を指定します。 HTTP ヘッダーの詳細については、 の「カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」 https://go.microsoft.com/fwlink/?LinkId=106692を参照してください。 メモ:認証の種類HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類][自動] に設定されている場合、このプロパティは省略可能です。
      PasswordHeader パスワード ヘッダーの名前。 この例では、 MyPassHeader を指定します。 HTTP ヘッダーの詳細については、 の「カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」 https://go.microsoft.com/fwlink/?LinkId=106692を参照してください。 メモ:認証の種類HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類][自動] に設定されている場合、このプロパティは省略可能です。

      次の図は、指定された値を持つ [サービスとエンドポイントの動作の構成] ページを示しています。

      [サービスとエンドポイントの動作の構成] ページ

  11. [サービスとエンドポイントの動作の構成] ページで、[ 次へ] をクリックします。

  12. [サービス エンドポイントのバインドとアドレスの構成] ページの [構成するコントラクトの選択] には、構成した成果物 (MS_SAMPLE_EMPLOYEE) が表示されます。 選択したコントラクト ボックスの [操作] には、[操作の選択] ページで成果物に対して選択した選択操作が表示されます。

  13. [ コントラクトのアドレスとバインドを構成する ] ボックスで、次の値を指定します。

    プロパティの場合 値を指定する
    バインド構成 ウィザードでは、基本的な HTTP バインディングのみがサポートされます。 そのため、バインド構成フィールドは System.ServiceModel.Configuration.BasicHttpBindingElement に自動的に設定されます。

    省略記号ボタン (...) をクリックして、HTTP バインディングのプロパティを変更します。 セキュリティで保護された通信チャネルを使用するには、常に Mode プロパティを Transport に設定する必要があります。 ウィザードは 、Mode プロパティの既定値を トランスポートとして設定します。

    公開されているその他のバインドの詳細については、 の「BasicHttpBindingElement メンバー」 https://go.microsoft.com/fwlink/?LinkId=103773を参照してください。
    エンドポイント名 コントラクトのエンドポイント名を指定します。

    このページの他のフィールドは、前のページで指定した値に基づいて自動的に設定されます。

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

    注意

    このページで値を指定しない場合は、すべてのコントラクトで既定値が受け入れられます。

    次の図は、指定した値を持つ [サービス エンドポイント のバインドとアドレスの構成] ページを示しています。

    サービス エンドポイントのバインドとアドレスの構成

  14. [サービス エンドポイントのバインドとアドレスの構成] ページで、[ 次へ] をクリックします。 [概要] ページには、Oracle E-Business Suite 成果物のツリー構造と、成果物に対して選択された操作が一覧表示されます。

  15. 概要を確認し、[完了] をクリック します

  16. ウィザードによって WCF サービスが作成され、次のファイルが Visual Studio プロジェクトに追加されます。

    1. .svc ファイル。 これは WCF サービス ファイルです。 ウィザードでは、コントラクトごとに 1 つのファイルが生成されます。

    2. Web.config ファイル。

    3. サービス コード (.cs ファイル)

.cs ファイルを変更する

Oracle E-Business アダプターを使用して Oracle E-Business Suite 成果物からサービスを作成し、Microsoft Office SharePoint Server のビジネス データ リスト Web パーツからサービスを使用する場合は、WHERE 句で始まる完全なフィルター句を指定する必要があります。 たとえば、"John" という名前の従業員を検索する場合は、ビジネス データ リスト Web パーツで次のフィルター句を指定する必要があります。

where NAME like ‘JOHN’

ただし、ユーザーがフィルター句全体を実際に言及せずにフィルター句の入力としてのみ名前を指定する場合は、Microsoft Office SharePoint Server のビジネス データ リスト Web パーツから取り込まれるフィルター句を WHERE 句形式で Oracle E-Business に渡すように変更するコードを .cs ファイルに追加できます。

たとえば、このチュートリアルの場合、ユーザーが Microsoft Office SharePoint Server のビジネス データ リスト Web パーツに従業員名を入力し、その従業員のレコードを取得する場合は、.cs ファイルに次のコードを追加できます。

SelectResponse InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.Select(SelectRequest request)
{
     request.FILTER = "where NAME like '" + request.FILTER + "'"; // The code to avoid the users from specifying the WHERE clause in the filter from Business Data List Web Part.
     return base.Channel.Select(request);
}

WCF サービスを発行する

IIS で SSL が有効になっていることを確認します。 IIS の SSL を有効にする方法については、「」を参照してください https://go.microsoft.com/fwlink/?LinkId=197170

WCF サービスを発行するには:

  1. ソリューション エクスプローラーでプロジェクトを右クリックし、[発行] をクリックします。

  2. [ Web の発行 ] ダイアログ ボックスで、WCF サービスの URL を指定します。 次に例を示します。

    https://<COMPUTER_NAME>:<PORT_NUMBER>/MS_SAMPLE_EMPLOYEE/
    

    Note

    WCF サービスを SSL 対応の場所に発行する必要があります。 つまり、[ ターゲットの場所 ] ボックスの値は "https://" で始まる必要があります。 ユーザー資格情報は HTTP ヘッダーで渡されるため、ウィザードは、SSL 暗号化を意味するセキュリティ モードとして "トランスポート" を使用するようにアダプターのバインド動作を自動的に構成しました。 もちろん、戻って web.config ファイルを編集してセキュリティ モード> パラメーターの<値を変更することもできますが、HTTP ヘッダーのクリア テキストで機密情報を転送する場合は、SSL を使用する方が常に適したオプションです。

  3. [ コピー ] ボックスで、[ すべてのプロジェクト ファイル] をクリックします。

  4. [発行] をクリックします。

  5. WCF サービスが正常に発行されたことを確認します。

    1. IIS Microsoft 管理コンソールを起動します。 [ スタート] をクリックして [ 管理ツール] をポイントし、[ インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。

    2. サービスを発行したノードに移動します。 MS_SAMPLE_EMPLOYEE サービスの場合は、[インターネット インフォメーション サービス><] [コンピューター名>>] [Web サイト] [既定の Web サイト>>] MS_SAMPLE_EMPLOYEEに移動します。

    3. 右側のウィンドウで、InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.svc ファイルを右クリックし、[ 参照] をクリックします。

    4. Web ページに、WSDL を取得するための URL が表示されます。 svcutil コマンドを使用してメタデータの取得をテストすることもできます。 たとえば、MS_SAMPLE_EMPLOYEE サービスのメタデータを取得するコマンドは次のとおりです。

      svcutil.exe https://<COMPUTER_NAME>:<PORT_NUMBER>/MS_SAMPLE_EMPLOYEE/InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.svc?wsdl
      
      

次の手順

Oracle E-Business Suite 成果物のアプリケーション定義ファイルを作成するには、ビジネス Data Catalog定義エディターを使用します。 手順については、「 手順 2: Oracle E-Business Suite Artifacts のアプリケーション定義ファイルを作成する」を参照してください。 アプリケーション定義ファイルは、LOB データが格納される場所と、そのデータが格納される形式を識別します。

参照

チュートリアル: Oracle E-Business Suite のデータを SharePoint サイトに表示する