BizTalk WCF サービス公開ウィザードを使用してコンテンツ ベース ルーティングの WCF 受信場所にサービス メタデータを公開する方法
BizTalk WCF サービス公開ウィザードを使用して WCF サービスを作成し、コンテンツベース ルーティングの既存の WCF 受信場所にメタデータを公開します。
Note
BizTalk WCF サービス公開ウィザードを実行する前に、BizTalk プロジェクトを作成する必要があります。 BizTalk プロジェクトには、WCF サービスとして公開するスキーマを含める必要があります。 WCF アダプターのサービス メタデータを発行する前に、BizTalk Server管理コンソールまたはBizTalk Serverに含まれる BTSTask コマンド ライン ツールを使用して、WCF 受信場所も作成する必要があります。 WCF 受信場所を作成する方法の詳細については、WCF アダプターの各 WCF アダプターに関する適切なトピックを参照してください。
コンテンツベース ルーティングの既存 WCF 受信場所にサービス メタデータを公開するには
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[BizTalk Server] をポイントして、[BizTalk WCF サービス発行ウィザード] をクリックします。
Note
BizTalk オーケストレーションとスキーマの WCF サービス メタデータを作成して発行するには、BizTalk WCF サービス発行ウィザードを使用します。 一方、SOAP アダプターを使用してオーケストレーションとスキーマを Web サービスとして公開するには、BizTalk Web サービス公開ウィザードを使用します。
[ BizTalk WCF サービス発行ウィザードへようこそ ] ページで、[ 次へ] をクリックします。
[ WCF サービスの種類] ページで、[ Metdata only endpoint (MEX)] オプションを選択して WCF サービスを発行し、次の手順で選択する WCF 受信場所のサービス メタデータを提供します。
[ WCF サービスの種類 ] ページの [ 受信場所のメタデータの発行 ] ドロップダウン リストで、サービス メタデータを発行する WCF 受信場所を選択し、[ 次へ] をクリックします。
[ 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
このウィザードで Web アプリケーションの \App_Data\Temp フォルダーに作成される BindingInfo.xml ファイルでは、パイプラインに既定値が使用されます。 受信パイプラインの既定値は Microsoft.BizTalk.DefaultPipelines.XMLReceive パイプラインで、送信パイプラインの既定値は Microsoft.BizTalk.DefaultPipelines.PassThruTransmit パイプラインです。
[ WCF サービスの概要] ページで、WCF サービスの設定を確認します。
[ 作成 ] をクリックして WCF サービスを作成します。
[ 完了] をクリックして、BizTalk WCF サービス発行ウィザードを完了します。
サービス メタデータを公開する Web アプリケーションを構成するには
BizTalk WCF サービス公開ウィザードで作成した Web アプリケーションについて ASP.NET を有効にします。 詳細については、「 Web サービスの有効化」を参照してください。
Note
その他のバージョンの Windows オペレーティング システムを使用している場合は、アプリケーション プールの ID アカウントを BizTalk Server 管理者グループに追加する必要があります。 適切なアカウントを BizTalk Server Administrators グループに追加した後、IIS サービスを再起動して設定を有効にする必要があります。
コマンド プロンプトを開き、BizTalk WCF サービス公開ウィザードで WCF サービスを作成したフォルダーの %SystemDrive%\InetPub\ に移動し、Web.config ファイルをメモ帳で開きます。
メモ帳で、system.web> 要素内に次の行を<追加します。
<trust level="Full" originUrl="" />
Note
この設定はオプションで、公開した WCF サービスをホストする ASP.NET アプリケーションに、オペレーティング システムのセキュリティの影響下にあるリソースへのアクセス権限を与えます。 これは、公開された WCF サービスと同じコンピューターで Windows SharePoint Services がインストールおよび実行されている場合に、WCF サービスの実行に必要な信頼レベルです。
[インターネット エクスプローラー] の [アドレス] ボックスに、公開された WCF サービスをテストするために、形式 http:// host[:p ort]/apppath/wcfservicename.svc を使用して WCF サービスの URL を入力します。 次の表は、これらのパラメーターについてまとめたものです。
パラメーター 値 host[:p ort] WCF サービスを配置したコンピューターの名前です。 このサーバー名の後に、コロンとポート番号を入力できます。 apppath 仮想ディレクトリ名と Web アプリケーションのパスです。 wcf サービス名.svc WCF サービスの .svc ファイルの名前です。 機密性の高い可能性のあるサービス メタデータが意図せずに開示されないようにするには、次のタスクを実行して、運用環境でこの動作を無効にすることをお勧めします。
メモ帳で、BizTalk WCF サービス発行ウィザードによって %SystemDrive%\InetPub\ に WCF サービスが作成されたフォルダーの Web.config を開きます。
メモ帳で、serviceMetadata> 要素の httpGetEnabled 属性を<次の行のように false に設定します。
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
参照
BizTalk WCF サービス公開ウィザードを使用してスキーマを WCF サービスとして公開する方法
チュートリアル:WCF-NetMsmq アダプターを使用した WCF サービスの公開