WCF アダプタに関する問題の診断方法

このセクションでは、WCF アダプタに関する問題の診断手順について説明します。

IIS サーバーの IIS ログと HTTPERR ログでエラーを確認する

  • ソースまたはターゲットの IIS サーバー ログ ファイルには、WCF 分離アダプタに関する問題のトラブルシューティングに役立つ情報が含まれています。 既定では、Windows Server コンピューター上の IIS ログ ファイルは次のディレクトリにあります。

    %WinDir%\system32\LogFiles\W3SVC1\

    Note

    %WinDir% は、IIS サーバー上の Windows ディレクトリの場所のプレースホルダーです。

    既定では、Windows Server 2003 および Windows Server 2008 SP2 ベースのコンピューター上の HTTPERR ログ ファイルは、次のディレクトリにあります。

    Note

    HTTPERR ログ ファイルは、Windows Server 2003 および Windows Server 2008 SP2 ベースのコンピューターでのみ使用できます。

    %WinDir%\system32\LogFiles\HTTPERR\

WCF メッセージ ログの記録を WCF アダプタの障害監視と問題の診断に使用する

  1. WCF には、受信メッセージと送信メッセージをオフラインで使用するためにログに記録する機能が備わっています。 メッセージ ログを記録すると、WCF アダプタを経由して送受信するメッセージを確認できます。 WCF は既定ではメッセージをログに記録しません。 メッセージ ログの記録をアクティブ化するには、WCF アダプタが使用する構成ファイルを変更する必要があります。 WCF メッセージ ログの詳細については、 の「メッセージ ログ」 https://go.microsoft.com/fwlink/?LinkId=89003を参照してください。

  2. インプロセス WCF アダプターの場合は、 のアプリケーション構成ファイルBTSNtSvc.exe.configを変更 して、WCF メッセージ ログ を有効BTSNtSvc.exe。 構成ファイルは、BizTalk Serverインストール パスにあります。 既定の場所にBizTalk Serverをインストールした場合、BtsNtSvc.exe ディレクトリ \Program Files (x86)\Microsoft BizTalk Server <VERSION> になります。

  3. 分離 WCF アダプターの場合は、BizTalk WCF サービス発行ウィザードによって Web アプリケーション フォルダーに作成される Web.config ファイルを変更することで、WCF メッセージ ログを有効にすることができます。

  4. BTSNtSvc.exe.config または Web.configを変更するには、メモ帳を使用して構成ファイルを開き、次の構成例に示すように WCF メッセージ ログを構成します。

    <configuration>
      <system.serviceModel>
        <diagnostics>
          <messageLogging
               logEntireMessage="true"
               logMalformedMessages="false"
               logMessagesAtServiceLevel="true"
               logMessagesAtTransportLevel="true"
               maxMessagesToLog="300000"
               maxSizeOfMessageToLog="200000"
        />
        </diagnostics>
      </system.serviceModel>
    
      <system.diagnostics>
        <sources>
          <source name="System.ServiceModel.MessageLogging">
            <listeners>
              <add name="messages"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="c:\wcfTrace.e2e" />
            </listeners>
          </source>
        </sources>
      </system.diagnostics>
    </configuration>
    
  5. Windows Communication Foundation (WCF) Service Trace Viewer ツールを使用すると、WCF によって記録されたメッセージを分析できます。 サービス トレース ビューアーは、Windows Vista および .NET Framework ランタイム コンポーネント用の Microsoft Windows ソフトウェア開発キット (SDK) に含まれています。 Windows SDK は 、Microsoft ダウンロード センターからダウンロードできます。 このツールの使用方法の詳細については、 の「サービス トレース ビューアー ツール (SvcTraceViewer.exe)」 https://go.microsoft.com/fwlink/?LinkId=88991を参照してください。

マネージド例外情報を SOAP エラーの発生しているクライアントに返してデバッグ処理を軽減する

  1. 標準の WCF 受信場所 の [エラーに例外を含める ] オプションを選択すると、デバッグを容易にするために、SOAP エラーでマネージド例外情報をクライアントに返すことができます。 [ エラーに例外を含める ] オプションを選択するには、次の手順に従います。

    1. BizTalk Server管理コンソールで、[BizTalk Server管理]、[BizTalk グループ]、[アプリケーション]、[受信場所] の順に展開し、標準の WCF アダプターを使用して受信場所を右クリックし、[プロパティ] をクリックします。

    2. [ 受信場所のプロパティ ] ダイアログ ボックスで、[ 構成] をクリックします。

    3. [トランスポート] ダイアログ ボックスの [ メッセージ ] タブ で、[エラーに例外を含める ] オプションを選択します。

  2. WCF-Custom または WCF-CustomIsolated アダプターを使用する場合は、ServiceDebugElementIncludeExceptionDetailInFaults プロパティを設定して、マネージド例外情報をクライアントに返すことができます。 そのためには、次の手順を行ってください。

    1. BizTalk Server管理コンソールで、[BizTalk Server管理]、[BizTalk グループ]、[アプリケーション]、[受信場所] の順に展開し、WCF-Custom または WCF-CustomIsolated アダプターを使用して受信場所を右クリックし、[プロパティ] をクリックします。

    2. [ 受信場所のプロパティ ] ダイアログ ボックスで、[ 構成] をクリックします。

    3. [トランスポート] ダイアログ ボックスの [ 動作 ] タブで、[ ServiceBehavior ] ノードを右クリックし、[ 拡張機能の追加] をクリックします。

    4. [ 動作拡張機能の選択 ] ダイアログ ボックスで、[ serviceDebug] を選択し、[OK] をクリック します

    5. [トランスポート] ダイアログ ボックスの [動作] タブで serviceDebug ノードをクリックし、[構成] リスト ビューの includeExceptionDetail プロパティに対して [True] を選択します。

    Note

    マネージド例外情報をクライアントに戻すことは、セキュリティ リスクになり得ます。これは、例外の詳細が、非承認のクライアントで使用可能な内部サービスの実装についての情報を公開するからです。

参照

WCF アダプターBTSNTSvc.exe.config ファイルのトラブルシューティングのトラブルシューティングに使用するツールとユーティリティ