EWS のマネージ API アプリケーションのトラブルシューティングを行うには、要求と応答をトレースします。Trace requests and responses to troubleshoot EWS Managed API apps

EWS のマネージ API アプリケーションで発生したエラーのトラブルシューティングを行うには、EWS の要求と応答をトレースする方法を確認します。Find out how to trace EWS requests and responses to troubleshoot errors in your EWS Managed API application.

Web サービス ベースのアプリケーションのデバッグは困難へのアクセスがない可能性がリモート コンピューター上のプロセスの一部が実行されるためです。Debugging a web service-based application can be difficult because part of the processing is performed on a remote computer that you might not have access to. サーバー上でコードをステップ実行することはできません、XML 要求とエラーが発生して、アプリケーションのどの部分を決定するには、クライアントとサーバー間で送信される応答を参照してくださいすることがあります。Because you cannot step through the code on the server, it can be helpful to see the XML requests and responses that are sent between the client and the server to determine which part of the application is causing an error.

XML 要求と応答へのアクセスが既にある場合は、EWS を使用する場合は、問題をトラブルシューティングするために要求に、サーバーの応答を確認するようにコードにブレークポイントを配置できます。If you are using EWS, you already have access to the XML request and response; you can put a break point in your code to review the server's response to your request in order to troubleshoot an issue. EWS のマネージ API を使用する場合は、EWS の要求と応答に直接アクセスがありません。If you're using the EWS Managed API, you don't have direct access to the EWS request and response. ただし、 ExchangeServiceオブジェクトのトレース メソッドを使用するには、XML 要求と応答をキャプチャして、コードが動作しない原因を特定するのには XML を使用することができますし。However, you can use tracing methods on the ExchangeService object to capture the XML request and response, and you can then use the XML to determine why your code is not working.

たとえば、プロパティを正しく設定されていない場合、予期しない応答を取得する可能性があり、エラーを識別するには、XML 要求と応答を確認するのにはトレース出力を使用することができます。For example, if you did not set a property correctly, you might get an unexpected response, and you can use the trace output to look at the XML request and response to identify the error. EWS のマネージ API からのトレース出力は、EWS アプリケーションを作成するのには XML の要求を手動で構築するにも役立ちます。The trace output from the EWS Managed API can also help you manually build the XML request to create your EWS application. EWS を使用する場合は、EWS のマネージ API を使用して、小規模なアプリケーションを作成に、トレースおよび EWS 要求を構築するため、XML 要求の情報を使用します。If you are using EWS, you can create a small application by using EWS Managed API, trace it, and then use the XML request information to help you build your EWS request.

ExchangeService オブジェクトのトレースを有効にするEnabling tracing on the ExchangeService object

トレースを有効にするには、アプリケーションのExchangeServiceオブジェクトを作成し、次の例に示すように、トレースのプロパティを設定します。To enable tracing, create an ExchangeService object for your application, and set the tracing properties as shown in the following example.

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.TraceListener = ITraceListenerInstance;
// Optional flags to indicate the requests and responses to trace.
service.TraceFlags = TraceFlags.EwsRequest | TraceFlags.EwsResponse
service.TraceEnabled = true;

TraceEnabledプロパティをtrueに設定した後、トレース フラグに一致するすべての要求が指定されたトレース リスナーに送信されます。After you set the TraceEnabled property to true, all requests that match the trace flags will be sent to the specified trace listener. 1 つのトレース フラグを指定することができます。 または論理ORで組み合わせることにより複数のトレース フラグを指定することができます。You can specify a single trace flag, or you can specify multiple trace flags by combining them with a logical OR. TraceFlags 列挙体を使用するには EWS および自動検出の要求と応答の値を指定します。You can use the TraceFlags enumeration to specify values for EWS and for Autodiscover requests and responses.

TraceListener オブジェクトを実装するImplementing a TraceListener object

TraceEnabledプロパティを設定するにはtrue XML 要求と、[コンソール] ウィンドウなど、アプリケーションへの応答を出力します。You can set the TraceEnabled property to true to output the XML requests and responses to your application, such as a console window. トレース出力を制御し、ファイルに保存する場合は、 TraceListener クラスオブジェクトを実装することをお勧めします。If you want to control the trace output and save it to a file, we recommend that you implement a TraceListener class object. 次のコード例は、 ITraceListenerインターフェイスを実装し、XML またはテキスト ファイルにトレースされた要求と応答を格納する単純なオブジェクトを示しています。The following code example shows a simple object that implements the ITraceListener interface and stores the traced requests and responses in XML or text files.

class TraceListener : ITraceListener
{
    #region ITraceListener Members
    public void Trace(string traceType, string traceMessage)
    {
      CreateXMLTextFile(traceType, traceMessage.ToString());
    }
    #endregion
    private void CreateXMLTextFile(string fileName, string traceContent)
    {
      // Create a new XML file for the trace information.
      try
      {
        // If the trace data is valid XML, create an XmlDocument object and save.
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(traceContent);
        xmlDoc.Save(fileName + ".xml");
      }
      catch
      {
        // If the trace data is not valid XML, save it as a text document.
        System.IO.File.WriteAllText(fileName + ".txt", traceContent);
      }
    }
}

関連項目See also