次の方法で共有


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

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

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

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

    %WinDir%\system32\LogFiles\W3SVC1\

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

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

    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のアプリケーション構成ファイル (BTSNtSvc.exe.config) を変更することで、WCF メッセージ ログを有効にすることができます。 構成ファイルは、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) サービス トレース ビューアー ツールを使用して、WCF によってログに記録されたメッセージを分析できます。 サービス トレース ビューアーは、Windows Vista および .NET Framework ランタイム コンポーネント用の Microsoft Windows ソフトウェア開発キット (SDK) に含まれています。 Windows SDK は 、Microsoft ダウンロード センターからダウンロードできます。 このツールの使用方法の詳細については、 https://go.microsoft.com/fwlink/?LinkId=88991の「サービス トレース ビューアー ツール (SvcTraceViewer.exe)」を参照してください。

デバッグを容易にするために、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] を選択します。

    例外の詳細では、承認されていないクライアントが使用できる内部サービスの実装に関する情報が公開されるため、マネージド例外情報をクライアントに返すことはセキュリティ 上のリスクになる可能性があります。

こちらもご覧ください

ツールとユーティリティを使用してWCF アダプターのトラブルシューティングを行うためのBTSNTSvc.exe.config ファイル