次の方法で共有


BizTalk WCF サービス公開ウィザードを使用してオーケストレーション ポートにバインドされた WCF 受信場所にサービス メタデータを公開する方法

WCF サービスを作成して、オーケストレーション ポートにバインドされた既存の WCF 受信場所にサービス メタデータを公開するには、BizTalk WCF サービス公開ウィザードを使用します。

Note

BizTalk WCF サービス公開ウィザードを実行する前に、BizTalk プロジェクトを作成する必要があります。 BizTalk プロジェクトには、型修飾子がパブリックである受信ポートを 1 つ以上持つオーケストレーションが含まれている必要があります。 WCF アダプターのサービス メタデータを発行する前に、BizTalk 管理コンソールまたはBizTalk Serverに含まれる BTSTask コマンド ライン ツールを使用して WCF 受信場所を作成する必要もあります。 WCF 受信場所を作成する方法の詳細については、WCF アダプターの各 WCF アダプターに関する適切なトピックを参照してください。

オーケストレーション ポートにバインドされた既存の WCF 受信場所にサービス メタデータを公開するには

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[Microsoft BizTalk Server 20xx] をポイントして、[BizTalk WCF サービス発行ウィザード] をクリックします。

    Note

    WCF サービスを作成して BizTalk のオーケストレーションおよびスキーマにメタデータを公開するには、BizTalk WCF サービス公開ウィザードを使用します。 一方、SOAP アダプターを使用してオーケストレーションとスキーマを Web サービスとして公開するには、BizTalk Web サービス公開ウィザードを使用します。

  2. [ BizTalk WCF サービス発行ウィザードへようこそ ] ページで、[ 次へ] をクリックします。

  3. [ WCF サービスの種類] ページで、[ Metdata only endpoint (MEX)] オプションを選択して WCF サービスを発行し、次の手順で選択する WCF 受信場所のサービス メタデータを提供します。

    WCF サービスの種類ページ

  4. [ WCF サービスの種類 ] ページの [ 受信場所のメタデータの発行 ] ドロップダウン リストで、サービス メタデータを発行する WCF 受信場所を選択し、[ 次へ] をクリックします。

  5. [ WCF サービスの作成 ] ページで、[ BizTalk オーケストレーションを WCF サービスとして発行する] を選択し、[ 次へ] をクリックします。

    WCF サービスの作成ページ

  6. [ BizTalk アセンブリ ] ページの [BizTalk アセンブリ ファイル (*.dll)] テキスト ボックスに、BizTalk アセンブリ ファイルの名前を入力するか、[ 参照 ] をクリックしてサービス メタデータを発行するオーケストレーションを含むアセンブリを参照し、[ 次へ] をクリックします。

    Note

    BizTalk アセンブリ ファイルを選択する前に、すべての依存アセンブリを BizTalk アセンブリと同じフォルダーにコピーするか、依存アセンブリをグローバル アセンブリ キャッシュ (GAC) にインストールします。

    Note

    BizTalk アセンブリ ファイルを GAC にインストールした場合は、[ BizTalk アセンブリ] ダイアログ ボックスで選択するアセンブリで GAC 内のアセンブリが更新されていることを確認します。 GAC 内のアセンブリの完全修飾名が同じである場合、BizTalk WCF サービス公開ウィザードでは、選択したアセンブリ ファイルではなく、GAC 内のアセンブリ ファイルが使用されます。

    Note

    パス名が 260 文字を超えると、パス名が長すぎるというエラー メッセージが表示される場合があります。

    BizTalk アセンブリ ページ

  7. [ オーケストレーションとポート] ページで、プラス記号 (+) をクリックして、各アセンブリとオーケストレーションのツリー ノードを展開します。 メタデータを公開するオーケストレーションおよびポートのツリー ノードのチェック ボックスをオンにします。 受信ポートごとに 1 つの WCF サービスではなく、選択したすべての受信ポートに対して 1 つの WCF サービス (.svc ファイル) を作成する場合は、[ 選択したすべてのポートを 1 つの WCF サービスにマージ する] オプションを選択し、[ 次へ] をクリックします。

    Note

    選択したすべてのポートを 1 つの WCF サービスに統合すると、選択したすべてのポートの種類が同じになり、ポート内の操作名も同じになります。

    操作とポートページ

  8. [ WCF サービスのプロパティ ] ページの [WCF サービス] テキスト ボックス の [Targetnamespace] に、WCF サービスの ターゲット名前空間を入力し、[ 次へ] をクリックします。

    WCF サービスのプロパティ ページ

  9. [ WCF サービスの場所 ] ページの [ 場所 ] テキスト ボックスに、WCF サービスが生成される Web ディレクトリ名を入力します。 既定の場所 (http://localhost/<BizTalk Assembly Name>) をそのまま使用するか、[場所 ] テキスト ボックス に WCF サービスの場所を入力するか、[ 参照 ] をクリックして Web ディレクトリを選択します。 次のいずれかのオプションをクリックします。

    • [既存のプロジェクトに上書きする] : このオプションは、Web ディレクトリが存在する場合のみ選択できます。 このオプションを選択すると、同じ場所にのみ公開できます。 このオプションを選択しない場合は、別のプロジェクトの場所を入力する必要があります。

    • [WCF サービスへの匿名アクセスを許可する] : このオプションでは、作成した仮想ディレクトリに匿名アクセスを追加します。 既定では、仮想ディレクトリは、その親仮想ディレクトリまたは Web サイト (最上位の仮想ディレクトリである場合) から、アクセス権限を継承します。

      このページが終了したら、[ 次へ] をクリックします。

      WCF サービスの場所ページ

      Note

      プロジェクトの場所には、別のサーバーを指定することもできます。 WCF サービスを別のサーバーに発行するには、プロジェクト名を として http://<servername>/<WCF service location>入力します。

      Note

      プロジェクトの場所には、既定以外の Web サイトを指定することもできます。 既定以外の Web サイトに公開する場合は、URL に Web サイトのポート番号を含めます。 たとえば、「 http://<servername>:8080/<WCF service location> 」のように入力します。

      Note

      ウィザードが Web アプリケーションの App_DataTemp フォルダーに作成する BindingInfo.xml ファイルは、パイプラインの既定値を使用します。 受信パイプラインの既定値は Microsoft.BizTalk.DefaultPipelines.XMLReceive パイプラインで、送信パイプラインの既定値は Microsoft.BizTalk.DefaultPipelines.PassThruTransmit パイプラインです。

  10. [ WCF サービスの概要] ページで、WCF サービスの設定を確認します。

  11. [ 作成 ] をクリックして WCF サービスを作成します。

  12. [ 完了] をクリックして、BizTalk WCF サービス発行ウィザードを完了します。

サービス メタデータを公開する Web アプリケーションを構成するには

  1. BizTalk WCF サービス公開ウィザードで作成した Web アプリケーションについて ASP.NET を有効にします。 詳細については、「 Web サービスの有効化」を参照してください。

    Note

    Windows Server 2008 または Windows Vista を使用している場合は、アプリケーション プールの ID アカウントを BizTalk Server 管理者グループに追加する必要があります。 該当するアカウントを BizTalk Server 管理者グループに追加した後は、IIS サービスを再起動して設定を有効にする必要があります。

  2. コマンド プロンプトを開き、BizTalk WCF サービス公開ウィザードで WCF サービスを作成したフォルダーの %SystemDrive%\InetPub\ に移動し、Web.config ファイルをメモ帳で開きます。

  3. メモ帳で、system.web> 要素内に次の行を<追加します。

    <trust level="Full" originUrl="" />  
    

    Note

    この設定はオプションで、公開した WCF サービスをホストする ASP.NET アプリケーションに、オペレーティング システムのセキュリティの影響下にあるリソースへのアクセス権限を与えます。 これは、公開された WCF サービスと同じコンピューターで Windows SharePoint Services がインストールおよび実行されている場合に、WCF サービスの実行に必要な信頼レベルです。

  4. [インターネット エクスプローラー] の [アドレス] ボックスに、公開された WCF サービスをテストするために、形式 http:// host[:p ort]/apppath/wcfservicename.svc を使用して WCF サービスの URL を入力します。 次の表は、これらのパラメーターについてまとめたものです。

    パラメーター
    host[:p ort] WCF サービスを配置したコンピューターの名前です。 このサーバー名の後に、コロンとポート番号を入力できます。
    apppath 仮想ディレクトリ名と Web アプリケーションのパスです。
    wcf サービス名.svc WCF サービスの .svc ファイルの名前です。
  5. 機密性の高い可能性のあるサービス メタデータが意図せずに開示されないようにするには、次のタスクを実行して、運用環境でこの動作を無効にすることをお勧めします。

    1. メモ帳で、BizTalk WCF サービス発行ウィザードによって %SystemDrive%\InetPub\ に WCF サービスが作成されたフォルダーの Web.config を開きます。

    2. メモ帳で、serviceMetadata> 要素の httpGetEnabled 属性を<次の行のように false に設定します。

      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />  
      

参照

BizTalk WCF サービス公開ウィザードを使用してコンテンツ ベース ルーティングの WCF 受信場所にサービス メタデータを公開する方法
チュートリアル:WCF-NetMsmq アダプターを使用した WCF サービスの公開