完了までの時間: 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 にインストールされます。
注
また、Microsoft Office SharePoint Server サンプルに付属のcreate_apps_artifacts.sql スクリプトを実行して、アプリケーション オブジェクト ライブラリ アプリケーションに MS_SAMPLE_EMPLOYEE インターフェイス テーブルを作成する必要があります。 このインターフェイス テーブルは、このチュートリアルで使用します。
Oracle E-Business 成果物に対する操作用の WCF サービスを作成する
このセクションでは、MS_SAMPLE EMPLOYEE インターフェイス テーブルで Select 操作用の WCF サービスを作成する手順について説明します。
MS_SAMPLE EMPLOYEE インターフェイス テーブルで選択操作用の WCF サービスを作成するには
Visual Studio を起動し、プロジェクトを作成します。
[ 新しいプロジェクト ] ダイアログ ボックスの [ プロジェクトの種類 ] ウィンドウで、[ Visual C#] を選択します。 [テンプレート] ウィンドウ で 、[ WCF アダプター サービス] を選択します。
または、[ プロジェクトの種類 ] ウィンドウで [Visual C#] を展開し、[ Web] を選択します。 [テンプレート] ウィンドウ で 、[ WCF アダプター サービス] を選択します。
注
Web 開発コンポーネントと共に Visual Studio 2013 をインストールした場合、 WCF アダプター サービス テンプレートは [新しい Web サイト ] オプション ([ファイル>New>Web サイト] からも使用できます。
ただし、Oracle E-Business アダプターは、ファイル システム上に作成された Web サイトのみをサポートします。 そのため、[新しい Web サイト] ダイアログ ボックスで Web サイトを作成するときは、[場所] ボックスの一覧で [ファイル システム] を選択する必要があります。
ソリューションの名前と場所を指定し、[ OK] を選択します。 WCF アダプター サービス開発ウィザードが起動します。
[ようこそ] ページで、[次へ] を選択します。
[操作の選択] ページで、Oracle E-Business Suite に接続する接続文字列を指定します。 これを行うには、次の手順を実行します。
[ バインドの選択 ] ボックスの一覧で oracleEBSBinding を選択し、[ 構成] を選択します。
[ アダプターの構成 ] ダイアログ ボックスで、[ バインドのプロパティ ] タブを選択します。
[ 全般 ] カテゴリの ClientCredentialType バインド プロパティで、[ EBusiness] を選択します。
OracleEBS カテゴリで、OracleUserName、OraclePassword、OracleEBSResponsibilityName バインディング プロパティに適切な値を指定します。 この場合、 OracleUserName および OraclePassword バインディング プロパティのデータベース資格情報を指定する必要があります。
[ メタデータ ] カテゴリの EnableSafeTyping バインド プロパティで、[True] を選択 します。 日付列の値を取得する場合は、メタデータを生成するときに EnableSafeTyping バインド プロパティを True に設定することをお勧めします。
[ URI プロパティ ] タブを選択し、接続パラメーターの値を指定します。 Oracle E-Business アダプターの接続 URI の詳細については、「 Oracle E-Business Suite 接続 URI の作成」を参照してください。
[ セキュリティ ] タブを選択し、[ クライアント資格情報の種類 ] ボックスの一覧で [ ユーザー名] を選択します。 Oracle E-Business Suite に接続するための有効な Oracle E-Business Suite ユーザー名とパスワードを指定します。
[ OK] を 選択して [アダプターの構成] ダイアログ ボックスを閉じ、[ 接続] を選択します。 Visual Studio が Oracle E-Business Suite との接続を正常に確立すると、接続状態が [接続済み] と表示されます。 Oracle E-Business Suite メタデータが [操作の選択] ページに表示されるのも確認できます。
[操作の選択] ページの [ コントラクトの種類の選択 ] ボックスの一覧で、[ クライアント (送信操作)] を選択します。
[ カテゴリの選択 ] ボックスで、アプリケーション オブジェクト ライブラリ アプリケーションの MS_SAMPLE_EMPLOYEE インターフェイス テーブルを参照します。 アダプター内の成果物を参照する方法については、「 Oracle E-Business 操作のメタデータの参照、検索、および取得」を参照してください。
[ 利用可能なカテゴリと操作 ] ボックスで、[ 選択 ] 操作を選択し、[ 追加] を選択します。 [選択] 操作が [ 追加されたカテゴリと操作 ] ボックスに追加されます。
注
成果物ごとに複数の操作を追加できます。 Oracle E-Business Suite のさまざまな成果物に対する操作を追加することもできます。 たとえば、インターフェイス テーブルに対して 1 つの操作を追加し、同時プログラムに対してもう 1 つの操作を追加できます。 さらに、検索式でワイルドカード文字を指定することで、特定の操作を検索できます。 サポートされている特殊文字と、操作を検索できるノード レベルの詳細については、「 Oracle E-Business Suite 操作の検索」を参照してください。
[操作の選択] ページで、[ 次へ] を選択します。
[サービスとエンドポイントの動作の構成] ページで、サービスとエンドポイントの動作を構成する値を指定します。
[ サービス動作の構成 ] ボックスで、次のプロパティの値を指定します。
プロパティの場合 値を指定する メタデータ交換を有効化 メタデータ交換エンドポイントを作成するには、 これを True に 設定します。 これを True に設定すると、WS-Metadata Exchange (MEX) や HTTP/GET 要求などの標準化されたプロトコルを使用してサービス メタデータを使用できるようになります。 既定値は false です。 障害時に例外の詳細を含める デバッグ目的でクライアントに返される SOAP エラーの詳細にマネージド例外情報を含めるには、これを True に設定します。 既定値は false です。 名前 サービス動作構成の名前。 このチュートリアルでは、「 customServiceBehavior」と入力します。 サービス証明書を使用 WCF のメッセージ レベルのセキュリティ モードを使用するかどうかを指定します。 既定値は True です。 このチュートリアルでは、 これを False に設定する必要があります。 注
このチュートリアルではサービス証明書を使用しないため、FindValue、StoreLocation、StoreName、X509FindType プロパティの値を指定する必要はありません。 証明書と関連するプロパティの詳細については、「 X509ClientCertificateCredentialsElement プロパティ」を参照してください。
[ エンドポイント動作の構成 ] ボックスで、次のプロパティの値を指定します。
プロパティの場合 値を指定する 認証の種類 Microsoft Office SharePoint Server で WCF サービスを使用するには、値を HTTPUserNamePassword に設定します。 これにより、クライアントは HTTP ヘッダーの一部としてユーザー名とパスワードを指定できます。 名前 エンドポイント動作構成の名前を指定します。 このチュートリアルでは、「 customEndpointBehavior」と入力します。 ユーザー名ヘッダー ユーザー名ヘッダーの名前。 この例では、 MyUserHeader を指定します。 HTTP ヘッダーの詳細については、「 カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」を参照してください。
手記:認証の種類が HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類] が [自動] に設定されている場合、このプロパティは省略可能です。パスワードヘッダー パスワード ヘッダーの名前。 この例では、 MyPassHeader を指定します。 HTTP ヘッダーの詳細については、「 カスタム HTTP ヘッダーと SOAP ヘッダーのサポート」を参照してください。
手記:認証の種類が HTTPUserNamePassword に設定されている場合は、このプロパティの値を指定する必要があります。 [認証の種類] が [自動] に設定されている場合、このプロパティは省略可能です。Von Bedeutung
Microsoft では、最も安全で使用可能な認証オプションを使用することをお勧めします。 この手順で説明する認証方法では、非常に高い信頼が必要であり、他の認証方法には存在しないリスクが伴います。 この認証方法は、他の方法が実行できない場合にのみ使用してください。
次の図は、指定した値を持つ [サービスとエンドポイントの動作の構成] ページを示しています。
[サービスとエンドポイントの動作の構成] ページで、[ 次へ] を選択します。
[サービス エンドポイントのバインドとアドレスの構成] ページで、[構成するコントラクトの選択]に、構成したアーティファクト (MS_SAMPLE_EMPLOYEE) が表示されます。 選択したコントラクト ボックスの下の [操作] には、[操作の選択] ページで成果物に対して選択した選択操作が表示されます。
[ コントラクトのアドレスとバインドの構成 ] ボックスで、次のプロパティの値を指定します。 準備ができたら、[適用] を選択します。
プロパティの場合 値を指定する バインディング設定 ウィザードでは、基本的な HTTP バインドのみがサポートされます。 そのため、バインド構成フィールドは System.ServiceModel.Configuration.BasicHttpBindingElement に自動的に設定されます。
省略記号ボタン (...) を選択して、HTTP バインドのプロパティを変更します。 セキュリティで保護された通信チャネルを使用するには、常に Mode プロパティを トランスポートに設定する必要があります。 ウィザードは、 Mode プロパティの既定値を トランスポートとして設定します。
公開されている他のバインドの詳細については、 https://go.microsoft.com/fwlink/?LinkId=103773の「BasicHttpBindingElement メンバー」を参照してください。[エンドポイント名] コントラクトのエンドポイント名を指定します。 このページの他のフィールドは、前のページで指定した値に基づいて自動的に設定されます。
注
このページで値を指定しない場合は、すべてのコントラクトで既定値が受け入れられます。
次の図は、指定した値を持つ [サービス エンドポイントのバインドとアドレスの構成] ページを示しています。
[サービス エンドポイントのバインドとアドレスの構成] ページで、[ 次へ] を選択します。 [概要] ページには、Oracle E-Business Suite 成果物のツリー構造と、成果物に対して選択された操作が一覧表示されます。
概要を確認し、[ 完了] を選択します。
ウィザードによって WCF サービスが作成され、次のファイルが Visual Studio プロジェクトに追加されます。
.svc ファイル。 これは WCF サービス ファイルです。 ウィザードでは、コントラクトごとに 1 つのファイルが生成されます。
Web.config ファイル
サービス コード (.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 サービスを発行するには:
ソリューション エクスプローラーで、プロジェクトのショートカット メニューを開き、[ 発行] を選択します。
[ Web の発行 ] ダイアログ ボックスで、WCF サービスの URL を指定します。 例えば次が挙げられます。
https://<COMPUTER_NAME>:<PORT_NUMBER>/MS_SAMPLE_EMPLOYEE/
注
WCF サービスを SSL 対応の場所に発行する必要があります。 つまり、[ ターゲットの場所 ] ボックスの値は "https://" で始まる必要があります。 ユーザー資格情報は HTTP ヘッダーで渡されるため、ウィザードは、SSL 暗号化を意味するセキュリティ モードとして "トランスポート" を使用するようにアダプターのバインド動作を自動的に構成しました。 もちろん、戻って web.config ファイルを編集して、<security mode> パラメーターの値を変更することもできますが、HTTP ヘッダーのクリア テキストで機密情報を転送する場合は、常に SSL を使用することをお勧めします。
[ コピー ] ボックスで、[ すべてのプロジェクト ファイル] を選択します。
公開を選択します。
WCF サービスが正常に発行されたことを確認します。
IIS Microsoft 管理コンソールを起動します。 [スタート] メニューを開き、[管理ツール] を見つけて開き、[インターネット インフォメーション サービス (IIS) マネージャー] を選択します。
サービスを発行したノードに移動します。 MS_SAMPLE_EMPLOYEE サービスの場合は、インターネット インフォメーション サービス><Computer Name>>Web Sites>Default Web Site>MS_SAMPLE_EMPLOYEE に移動します。
右側のウィンドウで、 InterfaceTables_FND_APPS_MS_SAMPLE_EMPLOYEE.svc ファイルのショートカット メニューを開き、[参照] を選択 します。
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 成果物のアプリケーション定義ファイルを作成するには、ビジネス データ カタログ定義エディターを使用します。 手順については、「 手順 2: Oracle E-Business Suite Artifacts のアプリケーション定義ファイルを作成する」を参照してください。 アプリケーション定義ファイルは、LOB データが格納される場所と、そのデータが格納される形式を識別します。
こちらもご覧ください
チュートリアル: SharePoint サイトに Oracle E-Business Suite からのデータを表示する