BizTalk WCF サービス公開ウィザードを使用してスキーマを WCF サービスとして公開する方法
スキーマを WCF サービスとして公開するには、BizTalk WCF サービス公開ウィザードを使用します。
Note
BizTalk WCF サービス公開ウィザードを実行する前に、BizTalk プロジェクトを作成する必要があります。 BizTalk プロジェクトには、WCF サービスとして公開するスキーマを含める必要があります。
スキーマを WCF サービスとして発行するには
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[Microsoft BizTalk Server 20xx] をポイントして、[BizTalk WCF サービス発行ウィザード] をクリックします。
Note
BizTalk のオーケストレーションおよびスキーマを作成し、WCF アダプターを使用して WCF サービスとして公開するには、BizTalk WCF サービス公開ウィザードを使用します。 一方、SOAP アダプターを使用してオーケストレーションとスキーマを Web サービスとして公開するには、BizTalk Web サービス公開ウィザードを使用します。
[ BizTalk WCF サービス発行ウィザードへようこそ ] ページで、[ 次へ] をクリックします。
[ WCF サービスの種類] ページで、[ サービス エンドポイント ] オプションを選択して、BizTalk アセンブリ内の選択した BizTalk オーケストレーションに WCF サービスを発行します。
[WCF サービスの種類] ページで、[メタデータ エンドポイントの有効化チェック] ボックスをオンまたはオフにして、インターネット インフォメーション サービス (IIS) によってホストされている分離された WCF 受信場所が、HTTP/GET 要求を使用して取得するためにサービス メタデータを発行するかどうかを示します。
このチェック ボックスを選択すると、serviceMetadata> 要素の httpGetEnabled 属性<が true に設定されている Web.config ファイルが生成されます。 メタデータ インポート ツール (SvcUtil.exe など) を使用すると、開発環境でこのサービスを呼び出すために必要なクライアント コードを生成できます。 メタデータが発行されるアドレスは、エンドポイント アドレスと ?wsdl クエリ文字列です。
Note
機密性の高い可能性のあるサービス メタデータが意図せずに開示されないように、運用環境でこの動作を無効にすることをお勧めします。 これを行うには、httpgetenabled を false に設定するか、MEX 仮想ディレクトリを削除します。
[ WCF サービスの種類] ページの [ アダプター名 (トランスポートの種類)] ドロップダウン リストで、WCF サービスが発行される分離 WCF アダプターを選択します。 以下のいずれかのアダプターを選択できます。
[WCF-BasicHttp] : WCF-BasicHttp 受信アダプターは、ASMX ベースのサービスなど WS-I 基本プロファイル 1.1 準拠の Web サービスと通信できます。
[WCF-WSHttp] : WCF-WSHttp アダプターは、HTTP および HTTPS を使用し WS-* 標準をとおしてサービスと通信できます。
[WCF-CustomIsolated] : WCF-CustomIsolated アダプターを使用すると、HTTP トランスポートで WCF (Windows Communication Foundation) の拡張機能を利用できるようになります。
[WCF サービスの種類] ページで、次のアプリケーションの [BizTalk 受信場所の作成] チェック ボックスを選択して、[アダプター名] ドロップダウン リストで選択した WCF アダプターの生成された各 .svc ファイルに対応する受信ポートと場所を作成します。 受信場所が既に存在する場合、既存の受信場所は置き換えられません。 このオプションを選択した後、 BizTalk アプリケーション名 ドロップダウン リストで受信ポートと場所が生成されるアプリケーションを選択し、[ 次へ] をクリックします。
[ WCF サービスの作成 ] ページで、[ スキーマを WCF サービスとして発行する] を選択し、[ 次へ] をクリックします。
[ WCF サービス ] ページで、発行する WCF サービスを定義します。 [Web サービスの説明] ダイアログ ボックスのツリーを使用して、WCF サービスが発行する Web サービスの説明ノードを追加、削除、名前変更、および編集します。 [ 情報 ] ダイアログ ボックスには、選択したノードに関する情報が表示され、現在のノードまたはサブノードのエラーが表示されます。
ツリーのルート ノード (Web サービスの説明) は、公開する WCF サービスについての説明です。 仮想ディレクトリ名では、ルート ノードが既定の名前として使用されます。 [Web サービスの説明の名前の変更] を選択すると、発行する WCF サービスの Web サービスの説明名を変更できます。
既定のサービス ノード Service1 の Web メソッド ノード Operation1 は、[ Web サービスの説明 ] ダイアログ ボックスに既定で表示され、要求/応答の受信場所に使用できます。 このサービスの説明の一方向 WCF 受信場所を発行する場合は、既定の Web メソッド ノードを右クリックし、[ Web メソッドの削除] をクリックし、次のように一方向 Web メソッドを作成します。既定のサービス ノードを右クリックし、[ Web メソッドの追加] をポイントして、[ One-Way] をクリックします。
新しい WCF サービスを追加するには、Web サービスの説明名を右クリックし、[ Web サービスの追加] をクリックします。 これにより、WCF 操作なしの新しい WCF サービスが作成されます。 WCF サービスの名前を変更するには、WCF サービス ノードを右クリックし、[Web サービスの 名前変更] をクリックし、Enter キーを押して新しい名前を受け入れます。
新しい WCF 操作を追加するには、WCF サービス ノードを右クリックし、[ Web メソッドの追加] をポイントし、[ 一方向 ] (要求 WCF 操作の場合) または [要求応答 WCF 操作] をクリックします。
要求スキーマと応答スキーマの種類を設定するには、[ 要求 ] または [ 応答 ] ノードを右クリックし、[ スキーマの種類の選択] をクリックします。 [ 要求メッセージの種類 ] ダイアログ ボックスの [BizTalk アセンブリ ファイル] テキスト ボックスに、ドキュメント スキーマを含むアセンブリの名前を入力するか、[ 参照 ] をクリックしてアセンブリを検索します。 [使用可能なスキーマの種類] リスト ビューには、スキーマの各ルート要素が表示されます。 要求または応答のスキーマの種類として追加するルート ノードを選択します。
Note
BizTalk アセンブリ ファイルをグローバル アセンブリ キャッシュ (GAC) にインストールした場合は、[ メッセージの種類の要求 ] ダイアログ ボックスで選択するアセンブリで GAC 内のアセンブリが更新されていることを確認します。 GAC の完全修飾名が同じである場合、BizTalk WCF サービス公開ウィザードでは、選択したアセンブリ ファイルではなく、GAC 内のアセンブリ ファイルが使用されます。
生成されたコードに影響を与えることなく、 Request ノードと Response ノードの名前を変更できます。 スキーマを定義した後で部分要素の名前を変更すると、WCF 操作パラメーターの名前が変更されます。 公開する WCF サービスのサービス メタデータを表示することで、変更内容を確認できます。
Note
Web サービス説明ノードの名前を変更するとき、空白文字は使用できません。
[ 次へ ] をクリックしてウィザードを続行します。
[ WCF サービスのプロパティ ] ページの [WCF サービス] テキスト ボックス の [Targetnamespace] に、WCF サービスの ターゲット名前空間を入力し、[ 次へ] をクリックします。
[ WCF サービスの場所 ] ページの [ 場所 ] テキスト ボックスに、WCF サービスが生成される Web ディレクトリ名を入力します。 既定の場所 (
http://localhost/<Web service description name>
) をそのまま使用するか、[場所 ] テキスト ボックス に WCF サービスの場所を入力するか、[ 参照 ] をクリックして Web ディレクトリを選択します。 次のいずれかのオプションをクリックします。[既存のプロジェクトに上書きする] : このオプションは、Web ディレクトリが存在する場合のみ選択できます。 このオプションを選択すると、同じ場所にのみ公開できます。 このオプションを選択しない場合は、別のプロジェクトの場所を入力する必要があります。
[WCF サービスへの匿名アクセスを許可する] : このオプションでは、作成した仮想ディレクトリに匿名アクセスを追加します。 既定では、仮想ディレクトリは、その親仮想ディレクトリまたは Web サイト (最上位の仮想ディレクトリである場合) から、アクセス権限を継承します。
このページが終了したら、[ 次へ] をクリックします。
Note
プロジェクトの場所には、別のサーバーを指定することもできます。 WCF サービスを別のサーバーに発行するには、プロジェクト名を として
http://<servername>/<WCF service location>
入力します。Note
プロジェクトの場所には、既定以外の Web サイトを指定することもできます。 既定以外の Web サイトに公開する場合は、URL に Web サイトのポート番号を含めます。 たとえば、「
http://<servername>:8080/<WCF service location>
」のように入力します。Note
ウィザードを使用して受信場所を作成する場合は、既定値を使用して受信場所が作成されます。 受信パイプラインの既定値は、 Microsoft.BizTalk.DefaultPipelines.PassThruReceive パイプラインです 。 発行された WCF サービスを介して受信したメッセージに特別なパイプライン処理 (検証、関連付け/プロパティの昇格、受信/送信マップなど) が必要な場合は、受信パイプラインを Microsoft.BizTalk.DefaultPipelines.XMLReceive に設定するか、BizTalk 管理コンソールを使用してカスタム パイプラインに設定する必要があります。
[ WCF サービスの概要] ページで、WCF サービスの設定を確認します。
[ 作成 ] をクリックして WCF サービスを作成します。
[ 完了] をクリックして、BizTalk WCF サービス発行ウィザードを完了します。
BizTalk WCF サービス公開ウィザードを使用して WCF サービスを公開した後、これらのサービスを適切に構成する必要があります。 分離された WCF 受信アダプターを構成する方法については、「 How to Configure WCF Services Published with the BizTalk WCF Service Publishing Wizard」を参照してください。
参照
BizTalk WCF サービス公開ウィザードで公開した WCF サービスを構成する方法
チュートリアル:WCF-BasicHttp アダプターを使用した WCF サービスの公開
BizTalk WCF サービス公開ウィザードを使用してオーケストレーションを WCF サービスとして公開する方法